演算法 -- 使用 C++ 虛擬碼, 5/e (Foundations of Algorithms, 5/e)
內容描述
《Foundations of Algorithms》第五版均衡地解說了演算法的設計與複雜度分析,並使用較簡單的符號系統,清晰地解釋了用到的數學概念,特別適合修過代數和離散結構的資訊科系學生。
本書以C ++和Java虛擬碼,幫助學生理解複雜的算法。並在數值算法的章節中,介紹了基本數論、尋找最大公約數的歐幾里德算法、模塊算法、解模線性方程的算法、用於計算模冪的算法、以及檢驗質數之新的多項式時間算法。
第五版新增了基因演算法和基因規劃法的相關章節,以此演算法近似解旅行銷售人員問題,沿著食物軌跡行走的人工螞蟻問題,以及在金融交易上的應用問題。
重要特色:
本書透過C++以及Java虛擬碼,幫助讀者了解複雜的演算法。唯一一本涵蓋基因演算法和基因規劃法的教材。
*全書貫穿大量的範例,並在這一版加以更新,以確保讀者能理解較為複雜的概念。
目錄大綱
第一章 演算法:效率、分析與量級
第二章 Divide-and-Conquer(各個擊破)
第三章 動態規劃
第四章 貪婪演算法
第五章 回溯
第六章 Branch and Bound
第七章 計算複雜度概論:排序問題
第八章 續探計算複雜度:搜尋問題
第九章 計算複雜度與難解性:NP Theory序論
第十章 數論演算法
第十一章 平行演算法序論
附錄A 複習本書所使用到的數學
附錄B 求解遞迴方程式:並將解答應用到遞迴演算法的分析
附錄C Disjoint Sets的資料結構