資料結構回顧 幾類線性表對比與總結

2021-10-23 22:10:16 字數 1001 閱讀 8109

前面文章描述了順序表、單鏈表、雙向鍊錶、迴圈鍊錶、靜態鍊錶等幾類線性表的含義、特點、適用場景、基本操作以及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...