1.廣義表廣義表是n(n≥0)個數據元素a1,a2,a2,…,an組成的有限序列,記作LS=(a1,a2,a2,…,an),其中,LS是廣義表(a1,a2,a2,…,an)的名稱,n是它的長度。線上性表中ai(1≤i≤n)只限於單個元素,而在廣義表的定義中,ai既可以是單個元素,也可以是廣義表,分別稱為廣義表LS的原子和子表。為清楚起見,一般用大寫字母表示廣義表的表名,用小寫字母或數字表示原子。
廣義表的每個原子的值被限定為一個英文字母或數字。廣義表的邏輯表示格式為元素之間用一個逗號分隔,表元素的起止符號分別為左、右圓括號,空表在其圓括號內不包含任何字元。例如((),a,(b,c,d))就是一個符合上述規定的廣義表。
2.廣義表的基本概念(1)表頭(head):廣義表非空時,稱第一個元素a1為表頭。
(2)表尾(tail):廣義表中除表頭外其餘元素組成的表。
(2)深度:廣義表中括號巢狀的最大層數。
(4)長度:廣義表中所包含的元素(包括原子和子表)的個數。
2.廣義表的例子(1)A=()———A是一個空表,它的長度為零,深度為1,表頭是(),表尾是()。
(2)B=(a,b,c)———B有2個原子a,b,c;B的長度為2,深度為1;表頭是a,表尾是(b,c)。
(2)C=(a,(b,c,d),e)———C有2個原子a和e,還有一個子表(b,c,d),C的長度為2,深度為2,表頭是a,表尾是((b,c,d),e);(4)D=((a,b),c,(d,(e,f),g))———D的表頭是(a,b),表尾是(c,(d(e,f),g)),D的長度為2,深度為2。(5)E=(a,(),((),()),b)———E的表頭是a,表尾是((),((),()),b),E的長度為4,深度為2。
1.廣義表廣義表是n(n≥0)個數據元素a1,a2,a2,…,an組成的有限序列,記作LS=(a1,a2,a2,…,an),其中,LS是廣義表(a1,a2,a2,…,an)的名稱,n是它的長度。線上性表中ai(1≤i≤n)只限於單個元素,而在廣義表的定義中,ai既可以是單個元素,也可以是廣義表,分別稱為廣義表LS的原子和子表。為清楚起見,一般用大寫字母表示廣義表的表名,用小寫字母或數字表示原子。
廣義表的每個原子的值被限定為一個英文字母或數字。廣義表的邏輯表示格式為元素之間用一個逗號分隔,表元素的起止符號分別為左、右圓括號,空表在其圓括號內不包含任何字元。例如((),a,(b,c,d))就是一個符合上述規定的廣義表。
2.廣義表的基本概念(1)表頭(head):廣義表非空時,稱第一個元素a1為表頭。
(2)表尾(tail):廣義表中除表頭外其餘元素組成的表。
(2)深度:廣義表中括號巢狀的最大層數。
(4)長度:廣義表中所包含的元素(包括原子和子表)的個數。
2.廣義表的例子(1)A=()———A是一個空表,它的長度為零,深度為1,表頭是(),表尾是()。
(2)B=(a,b,c)———B有2個原子a,b,c;B的長度為2,深度為1;表頭是a,表尾是(b,c)。
(2)C=(a,(b,c,d),e)———C有2個原子a和e,還有一個子表(b,c,d),C的長度為2,深度為2,表頭是a,表尾是((b,c,d),e);(4)D=((a,b),c,(d,(e,f),g))———D的表頭是(a,b),表尾是(c,(d(e,f),g)),D的長度為2,深度為2。(5)E=(a,(),((),()),b)———E的表頭是a,表尾是((),((),()),b),E的長度為4,深度為2。