索引 / 001 ZH-TW

電腦科學

電腦科學

Algorithms

Jeff Erickson

英文原名: Algorithms

完整演算法教材,在資料結構之後訓練遞迴建模、正確性證明、動態規劃、圖演算法與歸約,適合從會寫程式走向能解釋演算法為何成立的讀者。

需要的基礎: 先修離散數學、歸納、遞迴和基本資料結構,複習圖、漸近記號與遞推式;本書不從頭講佇列、雜湊表或平衡樹,應先補齊相關基礎。

難度等級
中級
學術層次
大學部
algorithm designgraph algorithmsNP hardness

01 / 導讀

導讀

適合誰

適合程式設計和資料結構之後的本科演算法課,作者明確並非首次演算法啟蒙。重點是持續練習設計、解釋正確性,並把正確性論證與執行時間分析分開。

需要的基礎

先修離散數學、歸納、遞迴和基本資料結構,複習圖、漸近記號與遞推式;本書不從頭講佇列、雜湊表或平衡樹,應先補齊相關基礎。

涵蓋內容

從遞迴、回溯進入動態規劃、貪心、圖遍歷、生成樹、最短路徑、流、割和NP困難性。作者站另附擴充套件講義,但不能把它們全部視為主書內容。

如何使用

寫程式碼前明確輸入輸出,找一個能暴露錯誤直覺的小例子;精確定義遞迴子問題或貪心選擇,分別完成正確性證明與複雜度分析。用習題比較兩種路線,為失敗的改法構造反例,最後才實現並用小規模窮舉核對。

版本與來源

作者完整第一版為2019年6月、472頁,主書CC BY 4.0;同頁其他講義採用較嚴格的CC BY-NC-SA 4.0,再利用須區分具體檔案,不能混用許可。

前往官方資源