資料結構 廣義表

2021-10-25 18:29:28 字數 554 閱讀 9823

4.5廣義表

定義:每n個元素a0,a1,…,a(n-1)的有限序列,元素可以是原子,可以是廣義表。

記作:ls=(a1,a2,…,an),ls為表名,n為表長,ai為元素,習慣上表名用大寫字母,元素用小寫字母表示。

表頭:head(ls)=a1

表尾:除了表頭之外的元素構成的乙個子表,記作tail(ls)= (a2,…,an);

廣義表的性質:

深度:括號出現的重數。原子深度是0,空表深度是1。

廣義表可以可以用圖形象地表示出來。

廣義表和線性表的區別:

廣義表可以看作是線性表的推廣,線性表是廣義表的特例。

廣義表的結構非常靈活,在某種條件下,它可以相容線性表,陣列,樹,有向圖等常用的資料結構

當二維陣列的每行或每列作為子表處理時,二維陣列即為乙個廣義表。

廣義表的運算:

求表頭gethead(l):

求表尾gettai(l):一定是乙個表。

資料結構 廣義表

廣義表 lists,又稱列表 是一種非線性的 資料結構 是線性表 的一種推廣。即廣義表中放鬆對錶元素的原子限制,容許它們具有其自身結構。思想 廣義表就類似下圖的結構,他的大體 下圖第一行 相當於乙個帶頭結點的鍊錶,思想,首先要有乙個頭結點為head型別,每乙個廣義表有且只有乙個head,而後每個節點...

資料結構 廣義表

概念 陣列和廣義表可以看成是線性表在下述含義上的擴充套件,表中資料元素本身也是乙個資料結構。廣義表也可以看作是線性表的推廣。1 廣義表的元素可以是子表,而子表的元素還可以包含子表。2 列表可以被其他列表所共享。3 列表可以是乙個遞迴的表,也就是說列表也可以是自身的子表。由於廣義表裡面的資料元素可以具...

資料結構 廣義表

一 問題概述 廣義表是非線性的資料結構,是由若干個元素組合而成的,廣義表中可以有子表,類似這樣的 我們以c a,b,c,d 為例,將它定義為這樣的資料結構 我們會給定字串的形式,如 char str a,b,c,d 然後將它轉化為如上的資料結構。二 解決辦法 1 將符號 看作是頭節點,然後將是數值的...