關於順序表和煉表的區別總結

2021-09-26 06:57:45 字數 823 閱讀 1612

一.概念:

通過一段連續的實體地址儲存資料元素的線性結構,通常用陣列進行儲存;

二.時間複雜度:

在尾插/尾刪時,時間複雜度為o(1);在中間或前面進行插入刪除時,時間複雜度為o(n);

三.底層空間:

順序表的底層空間是連續的,相當於陣列儲存;

四.順序表支援隨機訪問;

五.順序表可能需要擴容:

順序表在儲存元素的時候第一步是判斷是否有足夠的空間可以進行儲存,如果空間不夠時,此時就需要擴容;順序表的擴容是成倍數擴容;

六.順序表不會造成記憶體的碎片化;

順序表是一塊連續的物理記憶體空間,也可能會造成空間資源浪費;

七.順序表的快取比較高;

八.應用場景:

順序表適合在插入元素不多的情況下使用;

一.概念:

鍊錶在儲存上是非連續,非順序的儲存結構;資料的邏輯是通過鍊錶中的指標進行連線實現的;

二.時間複雜度:

在任意位置的插入刪除時的時間複雜度為o(1);

三.底層空間:

鍊錶的底層空間是不連續的;資料的邏輯是由指標來連線實現的;

四.鍊錶不支援隨機訪問;

五.鍊錶不需要擴容:

鍊錶在每次插入新結點時都需要開闢新的空間,因此頻繁向系統索要記憶體塊;

六.鍊錶會造成記憶體的碎片化:

因為不斷的開闢新的空間,因此會造成記憶體的碎片化;此外會造成額外空間的浪費,效率比較低;

七.鍊錶的快取比較低:

八.應用場景:

鍊錶任意位置的插入或刪除的情況比較多;

順序表和煉表的區別

首先了解順序表和煉表的概念 1.順序表 順序表是在計算機記憶體中以陣列 的形式儲存的線性表,是指用一組位址連續的儲存單元依次儲存資料元素的線性結構。線性表採用順序儲存的方式儲存就稱之為順序表。順序表是將表中的結點依次存放在計算機記憶體中一組位址連續的儲存單元中。特點 1 在順序表中,各個表項的邏輯順...

順序表和煉表的總結

尾插和尾刪 順序表 o 1 不帶頭節點的單鏈表 遍歷鍊錶,刪除o n 如果將最後乙個節點儲存 o 1 任意位置的插入與刪除 順序表o n 因為涉及到資料的遷移 鍊錶o 1 順序表支援隨機訪問,訪問任意位置節點o 1 鍊錶需要遍歷o n 底層的空間不同 順序表底層是一段連續的空間 鍊錶底層是不連續的 ...

python列表和鍊錶的區別 順序表和煉表的區別

一 從操作上角度 順序表和煉表都具有增 刪 查 改的相同功能,但演算法複雜度卻不相同。1 增 順序表往指定位置,不覆蓋的新增乙個值,後面的值日要往後移動,演算法複雜度為o n 鍊錶往指定位置新增乙個節點,需要從表頭遍歷到指定位置,演算法複雜度為o n 如果帶有索引的節點,演算法複雜度為o 1 2 刪...