資料結構 · 3 個細項
Foundations基礎
在學任何資料結構或演算法之前,先建立三個工具:用 Big-O 描述成本、用遞迴思考問題、用攤銷分析解釋「平均起來很快」。之後每一篇的複雜度欄位都以這裡為基礎。
為什麼要學 Foundations
現實中的應用為什麼程式在測試機很快、上線就超時
資料量從 100 筆變成 100 萬筆,O(n²) 的程式慢一萬倍,O(n log n) 只慢兩萬倍左右。Big-O 讓你在寫程式前就預測這件事。
→ 對應課程:Big-O Notation為什麼動態陣列的 push 算 O(1)
陣列滿了要搬家,那一次是 O(n),但平均下來每次 push 還是常數時間。攤銷分析解釋這種「偶爾很慢、整體很快」的結構。
→ 對應課程:Amortized Analysis