前面文章描述了順序表、單鏈表、雙向鍊錶、迴圈鍊錶、靜態鍊錶等幾類線性表的含義、特點、適用場景、基本操作以及c語言的實現過程。通過對比分析,這幾種線性表,都具有固有的特點、優缺點,也就決定了其適用於不同的應用場景;同時一部分線性表也具有綜合性特點,使得其能夠應用於更廣場景。各類線性表最具代表性的特點歸納為:
儲存位址
儲存空間
儲存密度
訪問結構
空間長度
查詢刪除/插入
順序表連續
靜態=1
順序/隨機
定長o(1)
o(n)
單鏈表非連續
動態<1
順序動態增加
o(n)
o(1)
雙向鍊錶
非連續動態
<1
順序動態增加
o(n)
o(1)
迴圈鍊錶
非連續動態
<1
順序動態增加
o(n)
o(1)
靜態鍊錶
非連續靜態
<1
順序定長
o(1)
o(1)
應用場景
線性表選擇
固定表長度
順序表/靜態鍊錶
頻繁查詢操作
順序表/靜態鍊錶
頻繁插入/刪除操作
鍊錶復用緩衝佇列
迴圈鍊錶
雙向遍歷
雙向鍊錶
兼顧查詢/插入/刪除效率
靜態鍊錶
約瑟夫環問題
迴圈鍊錶
lru 快取淘汰演算法
迴圈鍊錶
資料結構回顧——線性表概念(順序表與鍊錶的區別)
資料結構回顧——順序表操作詳解及c語言實現
資料結構回顧——單鏈表操作詳解及c語言實現
資料結構回顧——雙向鍊錶操作詳解及c語言實現
資料結構回顧——迴圈鍊錶操作詳解及c語言實現
資料結構回顧——靜態鍊錶操作詳解及c語言實現
資料結構(線性表)
1.試寫一演算法,在無頭結點的動態單鏈表上實現線性表操作insert l,i,b 並和在帶頭結點的動態單鏈表上實現相同操作的演算法進行比較。status insert linklist l,int i,int b 在無頭結點鍊錶l的第 i個元素之前插入元素 belse insert 2.已知線性表中...
資料結構 線性表
參考 一 線性表 順序表 單鏈表 迴圈鍊錶 雙鏈表 順序表 1.表的初始化 void initlist seqlist l 2.求表長 int listlength seqlist l 3.取表中第i個結點 datatype getnode l,i 4.查詢值為x的結點 5.插入 具體演算法描述 v...
資料結構 線性表
線性表是最基礎的一種資料結構,這樣的資料物件包含的資料元素具有一對一的前驅後繼關係。按其邏輯儲存方式的不同可分為兩類線性表 順序表和鏈式表。其中鏈式表又可分為線性鍊錶 迴圈鍊錶和雙向鍊錶。下面分別介紹下這幾種線性表的資料結構 1.順序表 typedef struct sqlist 插入演算法 i到n...