順序表和煉表的優缺點

2021-10-04 14:24:45 字數 413 閱讀 5785

一、順序表:

優點:順序表的記憶體空間連續。

尾插、尾刪效率較高,時間複雜度是o(1)。

支援隨機訪問,可以高效的按下標進行操作,時間複雜度是o(1)。

缺點:在順序表中間插入或刪除元素時都涉及到元素的移動,效率較低,時間複雜度為o(n)。

順序表長度固定,有時需要擴容。

二、鍊錶:

優點鍊錶的記憶體空間不連續。

如果知道要處理節點的前乙個位置,則進行插入和刪除的複雜度為o(1);

如果不知道要處理節點的前乙個位置,則進行插入和刪除的複雜度為o(n)。

頭插、頭刪的效率高,時間複雜度是o(1)。

沒有空間限制,不會溢位,可以儲存很多元素。

缺點:鍊錶不支援隨機訪問,查詢元素效率低,需要遍歷節點,時間複雜度是o(1)。

三、總結

順序表和煉表的優缺點比較

優點 1 結構簡單,易於理解 2 儲存空間連續,方便隨機訪問表中的每個元素,時間複雜度為o 1 3 不需要再為表示節點間的邏輯關係而增加額外的儲存空間 4 尾插,尾刪效率高,時間複雜度為o 1 5 cpu快取利用率高 缺點 1 插入和刪除比較慢,時間複雜度為o n 2 長度固定,必須在分配記憶體之前...

順序表和煉表各自的優缺點

順序表是將資料元素放到一塊開闢的連續儲存空間,相鄰元素的邏輯位址也相鄰 邏輯與物理統一 在上面的中可以看到順序表是在堆中是一塊連續的記憶體空間 優點 1.空間利用率高 連續存放,命中率高 2.查詢可以通過索引直接查詢,非常便利 隨機訪問 缺點 1.插入和刪除比較慢,每次插入都需要遍歷元素來找到適當的...

陣列和鍊錶的優缺點

array與list,使指資料結構概念上的陣列與鍊錶的優缺點吧.如果指的是array類 或介面 與list介面的優缺點的話,就不好理解了.陣列,在記憶體上給出了連續的空間.鍊錶,記憶體位址上可以是不連續的,每個鍊錶的節點包括原?吹哪詿婧拖亂桓黿詰愕男畔?單向的乙個,雙向鍊錶的話,會有兩個 陣列優於鍊...