資料結構——1、陣列
阿新 • • 發佈:2021-09-24
1.1.1 *陣列*
1.1.1.1 *記憶體中的陣列結構*
陣列是:有限個相同型別的變數所組成的有序集合,陣列中的每一個變數被稱為元素
陣列的一個特點:在記憶體中順序儲存
陣列在記憶體中是如何進行順序儲存的
記憶體是由一個一個連續的記憶體單元組成的,每一個記憶體單元有自己的地址,陣列中的每一個元素,都儲存在記憶體單元中,並且元素之間緊密排列
不同型別的陣列,陣列中每個元素所佔記憶體單元的個數不相同
陣列讀取元素和更新元素的時間複雜度都是O(1)
陣列插入元素的操作包括3種情況:尾部插入;中間插入;超範圍插入;
1.1.1.2 *插入元素*
1.1.1.2.1 *尾部插入*
對於一個數組,內部儲存元素如下:
對該陣列的尾部,插入一個元素
1.1.1.2.2 *中間插入*
1.1.1.2.3 *超範圍插入*
1.1.1.3 *刪除元素*
如果刪除元素不涉及到元素的排序,還有一種方式,將陣列尾部的元素直接替換到要刪除的元素,即如果要刪除的元素是2,可以把最後一個元素複製到元素2所在的位置,然後刪除最後一個元素。時間複雜度為O(1)
1.1.1.4 *時間複雜度*
陣列中讀取元素、更新元素,時間複雜度都是0(1),
插入元素,刪除元素,均涉及到元素的移動,時間複雜度是0(n)
如果不涉及到元素的排序,刪除元素的時間複雜度可降為O(1)