作者:劉子韜 | 背景:北美某大學 CS2510 算法課程復習筆記
緣起
這學期選修算法課(CS2510),老師是北美算法界重量級人物,課堂思路飛躍、純手寫板書、全英語授課,作業量大難度高(每周 3 次從不斷檔)。雖然過程痛苦,但收穫巨大——基本覆蓋《算法導論》核心內容。決定寫系列文章梳理復習,同時分享給有需要的同學。
系列定位
- 「漫」字雙關:涵蓋面廣(漫無邊際)+ 風格隨性(漫不經心)
- 重點在算法分析而非面試技巧,聚焦 mathematical analysis
- 介紹 Algorithm 作為 CS 核心研究方向的學科概貌
- 語言通俗易懂,區別於學術論文風格
完整目錄規劃(10 章)
- 貪心算法 - 局部最優推導全局最優的證明技巧
- 動態規劃 - 重疊子問題、最優子結構、表格法實現
- NP-Complete 問題 - 歸約證明、難度分類、近似算法
- 分治算法 - 遞歸分解、主定理、遞歸樹分析
- 問題複雜度分析 - 下界理論、決策樹、對手論證
- 平均情況分析與隨機算法 - 概率分析、隨機化技巧
- 圖算法 - 遍歷、最短路、最小生成樹、網絡流
- 線性規劃 - 單形法、對偶性、整數規劃
- 近似算法 - 輪廓比、PTAS、FPTAS
- Online Algorithm - 競爭比、對手模型、緩存/調度問題
寫作承諾
爭取堅持寫完全系列。歡迎讀者指正補充,共同進步。