
陳慧南編著
本書內容分爲3部分:算法和算法分析、算法設計策略及求解困難問題。第1部分介紹問題求解方法、算法複雜度和分析、遞歸算法和遞推關係;第2部分討論常用的算法設計策略:基本搜索和遍歷方法、分治法、貪心法、動態規劃法、回溯法和分枝限界法;第3部分介紹NP完全問題、隨機算法、近似算法和密碼算法。書中還介紹了兩種新的數據結構:跳錶和伸展樹,以及它們特定的算法分析方法,並對現代密碼學做了簡要論述。
每天看一點算法,mission complete。 選擇這本書是因爲目錄看起來比較全面,單點的理解某個算法沒什麼意義,重要的是構築知識體系與強化推及能力。 各類算法之間其實是有聯繫的,比如不確定算法用來定性問題的難易程度;密碼算法的理論基礎就是求解複雜問題的時間成本高到無法接受;近似算法是精度換性能;隨機算法也是換取性能的另一個方向;分治法適用於能通過縮小問題規模產生易於解決的子問題的問題,進而求解子問題得到當前問題的解;動態規劃用來優化分治法重疊子問題的性能損失;分支限界法用來裁剪狀態空間樹,提高搜索效率,這是相對於回溯法窮舉狀態空間的優勢;貪心法只是應對最優化問題的一種簡單策略。 算法是求解問題的具體步驟,時間空間複雜度用來描述一般條件下算法所適用的目標問題規模,數據結構則是輔助算法實現的存在。
看了小半年:算法理論大量抄襲!算法沒有經過測試!翻譯錯誤!四字:誤人子弟!
結構、內容都寫的不錯,不過確實是有錯誤的地方。