23 資料結構之陣列和鍊錶

2022-03-17 05:22:25 字數 884 閱讀 4586

特點:

查詢和修改快

增加和刪除慢

arraylist和vector的底層是使用陣列的資料結構

在arraylist中初始化的長度是10,如果長度不夠用了,每次會增加之前長度的50%,然後將舊的集合中的資料拷貝到新的集合中。vector每次擴容的長度是之前的一倍

陣列結構圖:

為什麼查詢和修改快?

查詢和修改時直接通過陣列的下標就能快速定位到相應的位置。

為什麼增加和刪除慢?

陣列裡面記憶體位址是連續的,如果要做增加或者刪除時勢必要修改長度,這樣可能會導致牽一髮而動全身的操作,比如在下標是2位置上的元素進行刪除,那麼後面每個位置上面的元素都會向前移動。

特點:

增加和刪除快

查詢和修改慢

linkedlist的底層使用的是鍊錶資料結構,可以將鍊錶看做是一條斷開的車鏈子,兩兩相扣。

鍊錶結構圖

為什麼增加和刪除快?

鍊錶裡面的記憶體位址不是連續的,每個元素裡面都保留著上乙個元素和下乙個元素的記憶體位址(首尾除外),如果要增加或刪除元素時,只有與他相鄰的兩個位置上的元素發生變化,其他元素不用任何改變。

為什麼查詢和修改慢?

鍊錶裡面的記憶體位址不是連續的,要查詢的話,需要從頭或者尾部挨個查詢,不能直接定位。

資料結構基礎之陣列和鍊錶

陣列 陣列 array 是有限個相同型別的變數所組成的有序集合。陣列中每個變數被稱為元素。陣列是最簡單 最常用的資料結構。陣列的另乙個特點,在記憶體中順序儲存。陣列中每乙個元素,都儲存在小小的記憶體單元中,並且元素之間緊密排列,既不能打亂元素的儲存順序,也不能跳過某個儲存單元進行儲存。陣列操作 增 ...

集合框架 資料結構之陣列和鍊錶

如圖 資料結構之陣列和鍊錶 總結 list 面試題list的子類特點 arraylist 底層資料結構是陣列,查詢快,增刪慢。執行緒不安全,效率高。vector 底層資料結構是陣列,查詢快,增刪慢。執行緒安全,效率低。linkedlist 底層資料結構是鍊錶,查詢慢,增刪快。執行緒不安全,效率高。l...

資料結構之陣列和鍊錶的區別

陣列 array 一 陣列特點 所謂陣列,就是相同資料型別的元素按一定順序排列的集合 陣列的儲存區間是連續的,占用記憶體比較大,故空間複雜的很大。但陣列的二分查詢時間複雜度小,都是o 1 陣列的特點是 查詢簡單,增加和刪除困難 1.1 在記憶體中,陣列是一塊連續的區域 1.2 陣列需要預留空間 在使...