順序儲存結構和鏈式儲存結構的優缺點

2021-07-14 21:45:54 字數 735 閱讀 1319

(一)順序儲存結構和鏈式儲存結構的優缺點

比較,以及使用情況。

1 優缺點

① 順序儲存時,相鄰資料元素的存放位址也相鄰(邏輯與物理統一);要求記憶體中可用儲存單元的位址必須是連續的。

優點:儲存密度大(=1),儲存空間利用率高。缺點:插入或刪除元素時不方便。 ②

鏈式儲存時,相鄰資料元素可隨意存放,但所佔儲存空間分兩部分,一部分存放結點值,另一部分存放表示結點間關係的指標

優點:插入或刪除元素時很方便,使用靈活。缺點:儲存密度小(<1),儲存空間利用率低。

2 使用情況

順序表適宜於做查詢這樣的靜態操作;鍊錶宜於做插入、刪除這樣的動態操作。

若線性表的長度變化不大,且其主要操作是查詢,則採用順序表;

若線性表的長度變化較大,且其主要操作是插入、刪除操作,則採用鍊錶。

3 比較

順序表與鍊錶的比較

基於空間的比較

儲存分配的方式

順序表的儲存空間是靜態分配的

鍊錶的儲存空間是動態分配的

儲存密度 = 結點資料本身所佔的儲存量/結點結構所佔的儲存總量

順序表的儲存密度 = 1

鍊錶的儲存密度 < 1

基於時間的比較

訪問方式

順序表可以隨機訪問,也可以順序訪問

鍊錶是順序訪問的

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

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

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

佇列的順序儲存結構和鏈式儲存結構

佇列 queue 是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表 在隊尾進行插入操作,在對頭進行刪除操作 與棧相反,佇列是一種 先進先出 first in first out,fifo 的線性表。與棧相同的是,佇列也是一種重要的線性結構,實現乙個佇列同樣需要順序表或鍊錶作為基礎。佇列既可...

棧的順序儲存結構和鏈式儲存結構

在表尾進行插入和刪除操作的線性表 仍然滿足線性表的操作,只是在push和pop有些區別 棧頂 top 允許插入和刪除,另一端稱棧底 bottom 不含任何資料元素的棧叫空棧。棧 後進先出 last in first out 的線性表,簡稱lifo結構。棧的插入稱為進棧,也稱壓棧,入棧。棧的刪除稱為出...

鏈式儲存結構和順序儲存結構的區別

演算法設計的要求 順序儲存結構和鏈式儲存結構的區別 鍊錶儲存結構的記憶體位址不一定是連續的,但順序儲存結構的記憶體位址一定是連續的 鏈式儲存適用於在較頻繁地插入 刪除 更新元素時,而順序儲存結構適用於頻繁查詢時使用。順序儲存結構和鏈式儲存結構的優缺點 例如 當你在字典中查詢乙個字母j的時候,你可以選...