資料結構 陣列

2021-09-12 00:19:13 字數 711 閱讀 9385

1.什麼是陣列:

• 陣列(array)是一種線性表資料結構.它用一組連續的記憶體空間,來儲存一組具有相同型別的數。

• 優點:兩限制使得具有隨機訪問的特性

• 缺點:刪除,插入資料效率低

2.線性表

線性表就是資料排成像一條線一樣的結構.常見的線性表結構:陣列,鍊錶,佇列、棧等.

3.陣列怎麼根據下標隨機訪問的?

4.為何陣列插入和刪除低效

4.1 插入:若有一元素想往intln的第k個位置插入資料,需要在kn的位置往後移.

最好情況時間複雜度0(1)

最環情況複雜度為o(n)

平均負責度為0(n)

如果陣列中的資料不是有序的,也就是無規律的情況下,可以直接把第k個位置上的資料移到最後,然後將插入的資料直接放在第k個位置上.這祥時間複雜度就將為0(1)了.

4.2 刪除:與插入類似,為了保持記憶體的連續性.

最好情況時間複雜度0(1)

最壞情況複雜度為0(n)

平均負責度為0()

提高效率:將多次刪除操作中集中在一起執行,可以先記錄已經刪除的資料,但是不進行資料遷移,而僅僅是記錄,當發現沒有更多空間儲存時,再執行真正的圳除操作。這也是jvm標記清除垃收**演算法的核心思想。

5.為什麼陣列要從0開始編號?

data_type_size,對於cpu 來說,多了一次減法的指令,當然,還有一定的歷史原因。

6.**示例:

資料結構 陣列

建立陣列 大小為50 棧空間存myarray引用 堆空間存乙個大小為50,預設值為0的陣列。棧空間myarray引用指向堆空間該陣列。int myarray new int 50 public class testarray public class testarray if s intarray....

資料結構 陣列

陣列 就是相同型別的資料按一定順序排列的集合,把有限個型別相同的資料元素用乙個名字表示,通過編號來區分。名字即為陣列名,編號即為下標。陣列是最簡單 使用最廣泛的一種資料結構,其實就是一塊連續的記憶體,哪怕物理上不連續,邏輯上也是連續的,連續存放著一組相同型別資料元素。陣列的定義 type 變數名 n...

資料結構 陣列

陣列 陣列是一種佔據連續記憶體並按順序儲存資料的簡單的資料結構。建立陣列時,需要首先指定陣列的容量,然後依據大小分配記憶體。由於有時候我們需要使用陣列的容量不確定,可能開闢的記憶體遠超實際使用的記憶體,所以陣列的空間效率不好。由於陣列在記憶體中是連續的儲存空間,所以它的時間效率很高,可以在o 1 的...