演算法圖鑑
資料結構 · 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
把問題交給「更小的自己」

資料夾裡有資料夾、運算式裡有運算式。遞迴讓你只描述一層的規則,其餘交給同一個函式處理,樹、DFS、分治、DP 都建立在這上面。

→ 對應課程:Recursion

細項

3