什麼叫廣義表共享?使用者1206856706892021-11-20 21:52:51

廣義表(Generalized Lists)是n(n≥0)個數據元素a1,a2,…,ai,…,an 的有序序列,一般記作:

ls=(a1,a2,…,ai,…,an)

其中:ls 是廣義表的名稱,n 是它的長度。每個ai(1≤i≤n)是ls 的成員,它可以是單個元素,也可以是一個廣義表,分別稱為廣義表ls 的單元素和子表。當廣義表ls 非空時,稱第一個元素a1 為ls 的表頭(head),稱其餘元素組成的表(a2,…,ai,…,an)為ls 的表尾(tail)。

從上述廣義表的定義和例子可以得到廣義表的下列重要性質:

⑴廣義表是一種多層次的資料結構。廣義表的元素可以是單元素,也可以是子表,而子表的元素還可以是子表,…。

⑵廣義表可以是遞迴的表。廣義表的定義並沒有限制元素的遞迴,即廣義表也可以是其自身的子表。例如表E 就是一個遞迴的表。

⑶廣義表可以為其他表所共享。例如,表A、表B、表C 是表D 的共享子表。在D中可以不必列出子表的值,而用子表的名稱來引用

廣義表有兩個重要的基本操作,即取頭操作(Head)和取尾操作(Tail)。根據廣義表的表頭、表尾的定義可知,對於任意一個非空的列表,其表頭可能是單元素也可能是列表,而表尾必為列表。

對於廣義表的head和tail的理解了,head是第一個元素,tail是除了第一個元素的餘下的。如果只有一個那麼尾部是空!