1. 程式人生 > 其它 >資料結構——1、陣列

資料結構——1、陣列

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)