📌 30 秒摘要(Layer 3)
演算法領域最權威、最全面的教科書。與 演算法圖解 的直覺入門不同,本書提供嚴謹的數學基礎:如何用「迴圈不變式」證明演算法正確、如何用「攤還分析」算出一連串操作的平均成本、如何解「遞迴式」求出分治演算法的複雜度,並系統性涵蓋排序、資料結構、圖論、動態規劃、NP 完全等。是把演算法從「會用」提升到「能證明、能分析」的參考書。
🗺 心智圖(Canvas)
演算法導論
Link to original
🧰 這本書給我的工具(即用分析方法)
- 工具-迴圈不變式 — 想嚴謹驗證演算法「一定正確」時
- 工具-攤還分析 — 分析「一連串操作」的整體成本時
- 工具-遞迴式與主定理 — 分析分治演算法的複雜度時
📖 演算法型錄(詳解在 reference/)
🔢 排序 Sorting
🧱 資料結構 Data Structures
- 堆疊與佇列 Stack and Queue、鏈結串列 Linked List、雜湊表 Hash Table、二元搜尋樹 Binary Search Tree、紅黑樹 Red-Black Tree、二元堆積 Binary Heap、併查集 Union-Find
🔍 搜尋與選擇 Searching
🧩 設計範式 Paradigms
🕸 圖論 Graph
- 廣度優先搜尋 BFS、深度優先搜尋 DFS、拓撲排序 Topological Sort、Kruskal 最小生成樹、Prim 最小生成樹、Dijkstra 最短路徑、Bellman-Ford 最短路徑、Floyd-Warshall 全對最短路、最大流 Max Flow
🔤 字串 String
🧮 計算理論 Theory
✨ 關鍵重點(Layer 1–2)
- 正確性證明:用迴圈不變式(初始化、保持、終止)證明。
- 成本分析:最壞/平均/攤還;漸進符號 Θ、O、Ω 的嚴謹定義。
- 分治與遞迴式:用遞迴樹、代入法、主定理求解。
- 廣度:排序、堆積、雜湊、平衡樹、圖演算法(BFS/DFS/最短路/MST)、DP、貪婪、NP 完全。
💬 金句原文(Layer 0)
- 「一個演算法若正確,對每個輸入實例都必須以正確輸出停止。」