Basic
1. 基本概念
資料結構可以分為 「邏輯結構」 和 「物理結構」,資料結構3要素是:
- 邏輯結構:集合、線性、非線性(樹形結構+圖形結構)
- 物理儲存結構:順式、鏈式、索引、雜湊。採用最多的是這兩種結構:「順序儲存結構」、「鏈式儲存結構」
- 資料運算
- 特點:有序、確定、可行有效、有輸入輸出
學演算法不是說要從輪子開始造車,而是看到別人寫的演算法要知道是什麼原理,細節要清楚,進而會修改別人的演算法
2. 迭代與遞迴
3. 複雜度計算
評判演算法的指標:時間複雜度+空間複雜度,複雜度:常<對<冪<指<階
- 最佳時間複雜度:每個輸入規模下用時最短的輸入所對應的時間複雜度。
- 最壞時間複雜度:每個輸入規模下用時最長的輸入所對應的時間複雜度。
- 平均時間複雜度:每個輸入規模下所有可能的輸入所對應的平均用時複雜度(隨機輸入下期望用時的複雜度)。