線性表資料結構的選擇

2022-07-18 00:21:13 字數 431 閱讀 4071

1.不要使用順序表的場合

經常插入刪除時,不宜使用順序表 

線性表的最大長度也是乙個重要因素

2.不要使用鍊錶的場合

當讀操作比插入刪除操作頻率大時,不應選擇鍊錶

當指標的儲存開銷,和整個結點內容所佔空間相比其比例較大時,應該慎重選擇 

3.實際應用中,順序棧比鏈式棧用得更廣泛些

順序棧容易根據棧頂位置,進行相對位移,快速定位並讀取棧的內部元素

順序棧讀取內部元素的時間為o(1),而鏈式棧則需要沿著指標鏈遊走,顯然慢些,讀取第k個元素需要時間為o(k)

一般來說,棧不允許「讀取內部元素」,只能在棧頂操作 

4. 順序佇列  

固定的儲存空間

方便訪問佇列內部元素

5.鏈式佇列

可以滿足浪湧大小無法估計的情況

訪問佇列內部元素不方便

資料結構(線性表)

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...