(二)其他鏈式儲存結構
1.迴圈鍊錶:結束條件:後繼是否為頭結點
單迴圈鍊錶;
a.可從表中任意位置開始遍歷,(單鏈表只能從表頭開始);
b.使用尾指標提高效率;
c.合併或**時,可以在直接鍊錶指標處合併,時間複雜度可達o(1);
雙向鍊錶;
特點:
a.查詢,刪除需要區分方向;
b.雙向迴圈鍊錶需要同時考慮兩個環兩個方向;
c.某個節點直接前驅的後繼,直接後繼的前驅是它本身;
d.從某個結點出發到其直接前驅或直接後繼結點的時間複雜度均為o(1);
e.儲存密度低;(資料佔位小於單鏈表);
插入刪除操作(自主命題重點):
考點:
插入的四步操作(左-右,上-下)順序可變但不可任意變;
變化原則:兩個已知的兩個節點,第三個必需能找到,不能出現空指標,野指標;
2.靜態鍊錶(某些學校自主命題可能會考,少)
借助陣列來描述線性表的鏈式儲存結構。結點也有資料域和指標域,與前面的鍊錶不同的是,這裡的指標是結點的相對位址(陣列的下標),稱之為靜態鍊錶;
特點:
a.所有資料元素均儲存在乙個連續的空間段,但相鄰的兩個元素不一定存在相鄰的空間;
b.修改指標域即可完成插入和刪除操作,不需要移動資料元素,但是也不能隨機訪問靜態鍊錶中的元素;
c.一次性分配所有的儲存空間,插入刪除無需申請或釋放空間,但是表長會被限制;
(三)順序表和煉表的比較
1.順序表和煉表的比較
順序表優點:
a.方法簡單,容易實現;
b.不用為表示節點之間的邏輯關係增加邏輯開銷;
c.具有按元素序號隨機訪問的特點;
順序表缺點:
a.插入或刪除,平均移動開銷大;
b.需要預先分配足夠大的儲存空間,導致空間閒置或溢位;
鍊錶缺點:
a.必須要有指標;
b.需要指標,額外開銷多,邏輯開銷大;
c.不能隨機訪問;
鍊錶優點:
a.插入刪除移動開銷小;
b.空間大小伸縮靈活,可有效利用;
2.實際中如何選取:
基於儲存的考慮:鍊錶
基於效率的考慮:順序表
基於環境的考慮:綜合實現語言,主要操作,儲存特性;
資料結構考研複習 線性表2
2 廈門大學 2000 15分 有序線性表的合併 這個比較基礎,例如給出兩個鍊錶,h1 1 3 5 7 9 h2 0 2 4 合併的結果就是 0 1 2 3 4 5 7 9 這個比較簡單,直接上 先搭建測試環境 typedef struct linklist linklist 構建兩個有序鍊錶 vo...
考研資料結構複習 線性表 鍊錶
title 考研資料結構複習 subject 線性表 鍊錶結構 author lxfhahaha language c語言 time 2018 9 25 20 55 include include include define inital size 50 define max size 100 d...
資料結構考研筆記 線性表
1.線性表的定義 線性表是具有相同特性元素的乙個有限序列。所含元素個數 線性表長度。2.線性表的邏輯特性 只有乙個表頭元素,乙個表尾元素,表頭元素沒有前驅,表尾元素沒有後繼,其他元素只有乙個直接前驅,乙個直接後繼。3.線性表的儲存結構 1 順序儲存結構 順序表 隨機訪問特性 需占用連續的儲存空間 做...