演演算法專題
- 時間複雜度
- 資料結構的使用
- 經典演演算法思想
- 樹的概念與操作
- 搜尋的實踐與應用
- 動態規劃(一)
- 綜合訓練
資料結構
集合、列表和陣列區分
陣列操作
1、讀取元素
(1)方式:存取索引(下標)來讀取,索引一般從0開始。
(2)過程:先在記憶體中為陣列申請一段連續的空間,並且會記下索引為0處的記憶體地址,之後由記下的索引為0處記憶體地址 + 索引值 = 目標元素的地址,即找到目標元素。
(3)時間複雜度:O(1)
2、查詢元素
(1)過程:從陣列開頭逐步向後查詢。如果陣列中的某個元素為目標元素,則停止查詢;否則繼續搜尋直到到達陣列的末尾。
(2)時間複雜度:O(N),N 為陣列的長度。
3、插入元素
(1)末尾插入
(2)首尾間插入用連結串列省時
4、刪除元素
(1)刪除掉陣列中的某個元素後,陣列中會留下空缺的位置,而陣列中的元素在記憶體中是連續的,這就使得後面的元素需對該位置進行填補操作。
(2)時間複雜度:O(N),N 為陣列的長度。
注:只考慮最壞情況的時間複雜度