陣列和鍊錶的對比

2021-10-24 21:30:10 字數 501 閱讀 1016

優點:

元素在記憶體中連續儲存,查詢效率高。

缺點:在儲存之前,需要預先申請記憶體空間。

在執行過程中,無法動態申請空間。如果資料量小,造成記憶體浪費。如果資料量大,造成記憶體溢位

在修改和刪除操作時,效率低

應用場景:

資料量可控。偏向查詢操作。構建線性表穩定

擴容方式:

申請更大記憶體,將原資料拷貝到新陣列中。

優點:

記憶體動態分配。

資料型別多樣化

修改和刪除操作靈活

缺點:查詢時需要遍歷,效率低下

應用場景:

資料動態分配,資料量不可控。頻繁插入刪除操作。動態性較強

擴容方式:

直接動態分配。使用指標向後新增

陣列和鍊錶

陣列名代表陣列的首位址,陣列的下標其實代表陣列中某個元素相對首位址的偏移量,陣列的第乙個元素是零偏移,因此從 0 開始。上面其實也只是乙個解釋,c 語言設計者用零開始編號,後來的各種語言也便紛紛效仿,因此就形成了這個習慣。單鏈表只支援乙個方向的訪問,第乙個節點稱為頭結點,最後乙個節點稱為尾結點。迴圈...

陣列和鍊錶

術語 在講述陣列和鍊錶之前,我們先了解乙個術語 索引和大o表示法。索引指元素的位置,因此我們不說 元素20的位置為1 而說 元素20位於索引1處 大o表示法指出演算法的速度有多快,演算法執行時間的增速。如o n 中的n指的是 運算元 也就是演算法執行時操作了幾次。有鑑於此,我們不僅要知道演算法需要多...

陣列和鍊錶

陣列名代表陣列的首位址,陣列的下標其實代表陣列中某個元素相對首位址的偏移量,陣列的第乙個元素是零偏移,因此從 0 開始。上面其實也只是乙個解釋,c 語言設計者用零開始編號,後來的各種語言也便紛紛效仿,因此就形成了這個習慣。單鏈表只支援乙個方向的訪問,第乙個節點稱為頭結點,最後乙個節點稱為尾結點。迴圈...