考研資料結構 線性表

2021-10-05 04:48:15 字數 2250 閱讀 9535

線性表是具有相同特徵資料元素的乙個有限序列。

元素個數叫做線性表的長度,n(n>=0)表示,n=0(空表)

只有乙個表頭元素,只有乙個表尾元素。表頭無前驅,表尾無後繼,除表頭和表尾外,其他元素只有乙個直接前驅,也只有乙個直接後繼。

順序儲存結構(順序表)和鏈式儲存結構(鍊錶)兩種。

順序表​ 連續儲存、順序儲存。

鍊錶​ 不僅有元素的資訊,還有邏輯關係的資訊(後繼結點的位址資訊)。

兩種儲存結構的比較

順序表:

​ 隨機訪問特性、占用連續的儲存空間。

​ 插入:需要移動多個元素。

鍊錶:​ 不支援隨機訪問、儲存空間利用率較順序表稍低、支援儲存空間的動態分配。

​ 插入:無需移動元素。

鍊錶的5種形式:

單鏈表:

帶頭結點的單鏈表(頭結點不存資訊):head->next==null,鍊錶為空。

不帶頭的單鏈表:head==null,鍊錶為空。

雙鏈表:多了乙個前驅結點

迴圈單鏈表:

單鏈表最後乙個指標域(空指標)指向第乙個結點。若迴圈結點戴頭結點,則最後乙個指標域(空指標)指向頭結點。

迴圈雙鏈表:

head==null,不帶頭結點的迴圈雙鏈表為空。

帶頭結點,空狀態下,head->next和head->prior都必然等於head。

以下四句任何一句為真都可以判斷迴圈雙鏈表為空。

head-

>next==head;

head-

>priot==head;

head-

>next==head && head-

>priot==head;

head-

>next==head || head-

>priot==head;

靜態鍊錶

與順序表相比優點是便於插入和刪除。

說明:考研中經常考到順序表和煉表的比較,給出全面答案。

基於空間的比較

儲存方式的分配:

順序表的儲存空間是一次性分配的,鍊錶的儲存空間是多次分配的。

儲存密度(儲存密度=結點值域所佔的儲存量/結點結構所佔的儲存總量)

順序表的儲存密度=1,鍊錶的儲存密度<1(因為結點中有指標域)

基於時間的比較

訪問方式

順序表可以隨機訪問;

鍊錶只能順序訪問(遍歷之前的元素)

插入/刪除時移動元素的個數:

順序表平均需要移動近一半元素;

鍊錶不需要移動元素,只需要改變指標。

​ n和元素的順序表刪除和插入施加複雜度分析:

把長度n陣列的前端k(kreverse(a,0,n - 1,k);

把長度n陣列的前端k(k先逆序前k個再重複1的過程

reverse(a,0,k-1,k);

reverse(a,0,n-1,k);

陣列中元素(x0,x1,…,xn-1)變為(xp,xp+1,…,xn-1,x0,x1,…,xp-1),即迴圈左移p個位置。

「前扔後」

要求:123456789 -> 456789123

或者把123看成乙個整體

=>321456789

=>321987654

=>456789123

reverse

(a,0

,p-1

,p);

reverse

(a,p,n-

1,n-p)

;reverse

(a,0

,n-1

,n);

「後提前」

要求:123456789 -> 789123456

把123456看成乙個整體

=>654321789

=>654321987

=> 789123456

reverse

(a,0

,n-p-

1,n-p)

;reverse

(a,n-p,n-

1,p)

;reverse

(a,0

,n-1

,n);

資料結構考研筆記 線性表

1.線性表的定義 線性表是具有相同特性元素的乙個有限序列。所含元素個數 線性表長度。2.線性表的邏輯特性 只有乙個表頭元素,乙個表尾元素,表頭元素沒有前驅,表尾元素沒有後繼,其他元素只有乙個直接前驅,乙個直接後繼。3.線性表的儲存結構 1 順序儲存結構 順序表 隨機訪問特性 需占用連續的儲存空間 做...

考研資料結構 線性表 棧

1.棧是一種線性表,主要特點就是只允許在一端進行插入或刪除操作的線性表。2.棧頂 top 線性表允許進行插入和刪除的一端 棧底 bottom 是固定的,不允許進行插入和刪除的一端 採用順序儲存的棧被稱為 順序棧 通常順序儲存結構由乙個 一維陣列 和乙個記錄 棧頂 元素位置的變數組成。1.結構定義 d...

考研資料結構 線性表 佇列

def 佇列是一種操作受限的線性表,與棧相同也不同,不同的是佇列是在一端進入 入隊 另一端出去 出隊 操作特性是先進先出。通常由乙個一維陣列和乙個記錄佇列頭元素位置的變數front以及乙個記錄尾元素位置的變數rear組成。1.佇列的順序儲存結構定義 define maxsize 100 佇列順序儲存...