線性表,順序表,廣義表

2021-09-11 07:17:31 字數 954 閱讀 7160

定義:乙個線性表是n個具有相同特性的資料元素的有限序列,線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的(注意,這句話只適用大部分線性表,而不是全部)

特徵:1.集合中必存在唯一的乙個「第一元素」。

2.集合中必存在唯一的乙個 「最後元素」 。

3.除最後乙個元素之外,均有唯一的後繼(後件)。

4.除第乙個元素之外,均有唯一的前驅(前件)。

儲存結構:線性表主要由順序表示或鏈式表示。在實際應用中,常以棧、佇列、字串等特殊形式使用。

定義:採用順序儲存結構(一組位址連續的儲存單元依次儲存線性表中的各個元素、使得線性表中在邏輯結構上相鄰的資料元素儲存在相鄰的物理儲存單元中)的線性表通常稱為順序表

舉個例子:陣列

定義:廣義表是n(n≥0)個元素a1,a2,…,ai,…,an的有限序列。

其中:①ai--或者是原子或者是乙個廣義表。

②廣義表通常記作:

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

③ls是廣義表的名字,n為它的長度

④若ai是廣義表,則稱它為ls的子表

注意:①廣義表通常用圓括號括起來,用逗號分隔其中的元素。

②為了區分原子和廣義表,書寫時用大寫字母表示廣義表,用小寫字母表示原子

③若廣義表ls非空(n≥1),則al是ls的表頭,其餘元素組成的表(a2,a3,…,an)稱為ls的表尾。

④廣義表是遞迴定義的 [1]

注意這裡的廣義表是一種非線性結構

廣義表還有乙個容易弄混的地方就是它的深度和長度,舉個例子就很容易明白了

(a,(b,c),d)這個廣義表的長度為3,深度為2

長度就是有幾個元素,是在最外層表中用逗號隔開的

深度就是巢狀的字表最多的巢狀次數

線性表之廣義表

廣義表 lists,又稱列表 是一種非線性的資料結構,是線性表的一種推廣。定義 廣義表是n n 0 個元素a1,a2,ai,an的有限序列。其中 ai 或者是原子或者是乙個廣義表。廣義表通常記作 ls a1,a2,ai,an ls是廣義表的名字,n為它的長度。若ai是廣義表,則稱它為ls的子表。注意...

線性表 順序表

1 線性表 線性表是最基本 最簡單 也是最常用的一種資料結構。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的。線性表的邏輯結構簡單,便於實現和操作。因此,線性表這種資料結構在實際應用中是廣泛採用的一種資料結構。線性表 list,零個或多個資料...

線性表 順序表

線性結構的特點是 在非空的有限集合中,只有唯一的第乙個元素和唯一的最後乙個元素。第乙個元素沒有直接前驅元素,最後乙個沒有直接的後繼元素。其它元素都有唯一的前驅元素和唯一的後繼元素。要想將線性表在計算機上實現,必須把其邏輯結構轉化為計算機可識別的儲存結構。線性表的儲存結構主要有兩種 順序儲存結構和鏈式...