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