
作者:Thomas H.Cormen, Charles E.Leiserson, Ronald L.Rivest, Clifford Stein
7-111-18777-6
¥85.00
Introduction to Algorithms
對于正規的程序員或者計算機科學系的學生來說,新版《算法導論》(第2版)是一本不可多得的好書,它建立在第1版的基礎上,并且能對算法學習提供權威性的指導。書中富有條理的論述和嚴格的數學證明,即使那些厭惡數學的人,都會感到易于接受。這些無疑也使本書成為了一本出類拔萃的教科書。而且,書中涉及到很多解決現實中廣泛的計算問題的算法都是最佳的。
書中大量的實例與對算法正確性的數學證明都顯示出本書對于學生來說是極好的教科書。但實際情況還遠不止如此。作者對每一個算法的解釋證明都十分準確嚴格而無可挑剔(書中關于基本數學內容的證明不但可以幫助讀者理解每個算法,而且還能使有一定數學背景的人欣賞本書的全部成果);每個算法都用偽代碼來描述,能很容易地通過任何一種計算機語言(包括C/C++和Java)來實現。這正是這本經典著作最具吸引力的地方。作者使用清晰的圖示展示排序和數據結構(從基本鏈表到樹)等算法的原理,這也是本書的另一亮點。即便你不精通數學,而只將書中的數學證明粗略瀏覽,也一定能從本書中受益匪淺。
本書是一本內容豐富而權威的算法專著,涉及許多用于解決復雜問題(包括動態編程技術、貪心算法和平攤分析)和圖問題(用于如航班調度和裝配線等問題)的高級算法。在這些例子中,作者均給出了涉及每個主題的最新研究成果以及解決方案。本書最后還包含了矩陣運算、線性規劃、計算多項式以及著名的快速傅里葉變換等多種十分有用的算法。在NP完全問題(像旅行商問題)中,作者向我們闡明了,盡管不是所有的問題都有一個最終確定的結果和最好的答案,然而能得出可接受的近似解決方法的算法依然可以很好地解決我們遇到的各種現實問題。
貫穿本書始終的,是作者使用分子生物學(如人類基因組計劃)、商業和工程領域的新鮮例子對算法進行深入細致的討論。每部分的末尾,作者還介紹了與該部分相關的歷史資料,而這些資料都是用于對算法的各個領域進行早期研究的。從總體上講,作者成功地闡述了這一主旨思想:與硬件和軟件一樣,算法是一種“技術”,能幫助你編寫出性能良好的程序。就像Knuth的《計算機程序設計藝術》第三卷一樣,《算法導論》(第2版)為算法領域中的經典著作,匯集了該領域中最先進的研究成果。對任何一個經驗豐富的程序開發者來說,不論選擇何種編程語言,對真實世界中軟件領域的擴大和性能的提高,本書所闡述的思想都是值得充分關注的。