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 的...