c語言_數(shù)據(jù)結(jié)構(gòu)算法書籍推薦(轉(zhuǎn)貼)
本文關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu),由筆耕文化傳播整理發(fā)布。
數(shù)據(jù)結(jié)構(gòu)算法書籍推薦(轉(zhuǎn)貼)
數(shù)據(jù)結(jié)構(gòu)算法書籍推薦(轉(zhuǎn)貼)_叫春的貓_新浪博客
如果計算機系只開三門課,那么這三門課就一定是:離散數(shù)學(xué),數(shù)據(jù)結(jié)構(gòu)與算法,編譯原理。如果只開一門課,那剩下的就一定是:數(shù)據(jù)結(jié)構(gòu)與算法。Niklaus Wirth說:算法+數(shù)據(jù)結(jié)構(gòu)=程序,不說廢話了,下面列出一份數(shù)據(jù)結(jié)構(gòu)算法書目,先從最著名的說起
A
原書名:The Art of Computer Programming
中文名:計算機程序設(shè)計藝術(shù)
作者:Donald E.Knuth
難度:*****
個人評價:*******
推薦程度:****
本書是算法分析的經(jīng)典名作(用經(jīng)典不太恰當(dāng),應(yīng)該是圣經(jīng)或史詩),被科學(xué)美國人列為20世紀12大科學(xué)名著之一(和Dirac的量子力學(xué),Einstein 的廣義相對論,von Neumann 的博弈論的著作等齊名)。其亮點在于其超乎尋常的數(shù)學(xué)技巧,要求讀者擁有極高的數(shù)學(xué)修養(yǎng),只要你堅持忍耐,一旦讀懂了,你的算法和程序設(shè)計水平也會達到更高的檔次,你會對程序設(shè)計有一種截然不同的體會和領(lǐng)悟,就是“道”(Tao)。書的排版很漂亮(得益于作者的Tex系統(tǒng)),看起來很舒服。作者的文筆很好,寫得生動活潑,讀起來蕩氣回腸(英文版)。習(xí)題多且精華,觸及算法和程序本質(zhì),書后有幾乎所有習(xí)題的答案(占了整全書篇幅的1/4),書中的分析方法體現(xiàn)了作者嚴謹?shù)娘L(fēng)格。不過本書的程序不是用我們熟悉的高級語言描述的,而是作者設(shè)計的MIX語言。整套書原計劃出七卷,現(xiàn)在出了三卷:基本算法,半數(shù)值算法,排序和搜索,第四卷組合算法跳票了20年,Knuth稱在2008年推出。本書有中文版,不過建議讀者選用英文版,因為都學(xué)到這個程度了,英語應(yīng)該不會有大困難了。引用一句話“在我們的有生之年,可能會看到C++的消亡,但Knuth和他的程序設(shè)計藝術(shù),將永遠留在我們的心里。”
B
原書名:Introduction to Algorithms
中文名:算法導(dǎo)論
作者:Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest,Clifford Stein
難度:***
個人評價:*****
推薦程度:*****
本書俗稱CLRS(作者名字的簡寫),算法的經(jīng)典教材,堪稱算法分析著作中的“獨孤九劍”。作者之一Ronald L.Rivest 由于其在公開秘鑰密碼算法RSA上的貢獻獲得了ACM圖靈獎。全書內(nèi)容全面,結(jié)構(gòu)清晰,6個部分1000多頁把數(shù)據(jù)結(jié)構(gòu)算法的主要內(nèi)容都包含了。作者用圖表,偽碼解釋每一個算法,通俗易懂而不失嚴謹性,英文比較簡單,語言流暢,因此,與TAOCP相比,這本書更適合初學(xué)者,不要求讀者擁有很強的數(shù)學(xué)背景和豐富的編程經(jīng)驗。書中習(xí)題安排合理,難度適中,在網(wǎng)上有全部習(xí)題的答案,網(wǎng)上還有作者在MIT講述本書的課程的錄像,可謂資源豐富,值得注意的是書中每一章后面都有一個Chapter notes,了解一下歷史,看一下作者推薦的材料是不錯的(如果你能找到的話)。
C
原書名:The Design and Analysis of Computer Algorithms
中文名:算法設(shè)計與分析
作者:Aho,Hopcroft,Ullman
難度:****
個人評價:*****
推薦程度:*****
該書寫于1976年,作者Hopcroft是 1986年ACM圖靈獎得主,這三個人寫過很多書,大多數(shù)都是經(jīng)典,于一般的算法書不同,該書側(cè)重于證明算法的正確性和復(fù)雜性,而不是怎樣實現(xiàn)和應(yīng)用算法,敘述上更加形式化,屬于定義-引理-定理的數(shù)學(xué)書風(fēng)格,認真研究一下里面的證明能大大提高理論水平。如果你看完了CLRS或其他數(shù)據(jù)結(jié)構(gòu)入門書,要深入學(xué)習(xí)算法,但TAOCP看起來又太吃力的話,這本比較適合。最后一點是書中的習(xí)題很精華,即使你不看這本書,做一下里面的習(xí)題也是非常有意思的
D
原書名:Data Structures and Algorithms
中文名:數(shù)據(jù)結(jié)構(gòu)與算法
作者:Aho,Hopcroft,Ullman
難度:***
個人評價:****
推薦程度:****
上面那本書的姐妹篇,內(nèi)容就簡單很多了,該書寫法有個特點就是每一個主題都從一個基本的觀念出發(fā),然后再逐漸深入討論,這樣做能使解釋更清晰,富有啟發(fā)性。不過這本書寫于20年前,所以有一些高級內(nèi)容如紅黑樹是沒有的,拿這本書做教材的讀者最好同時拿一本較新的來做參考。
E
原書名:Algorithms in C,Algorithms in C++,Algorithms in Java
中文名:算法I-IV(C實現(xiàn)),算法V(C實現(xiàn))(C++實現(xiàn))(Java實現(xiàn))
作者:Robert Sedgewick
難度:***
個人評價:****
推薦程度:****
Robert Sedgwick是Knuth的學(xué)生,現(xiàn)在是princeton的教授。這是三個系列,與上面用偽碼描述算法不同,本書用現(xiàn)今流行的語言C,C++,Java描述.那么選拿哪一種語言好呢?從算法的角度看,任何高級語言都是沒區(qū)別的,雖然實現(xiàn)算法的時候,到了語言相關(guān)的層面會有一些細微區(qū)別,但影響不大。個人推薦C++的,,因為價錢最便宜:)。本書的一個特點就是例子取得很好,代碼很清晰。有中文版
F
原書名:Algorithms Design Techniques and Analysis
中文名:算法設(shè)計技巧與分析
作者:M.H.Alsuwaiyel
難度:****
個人評價:****
推薦程度:****
這本書對一般算法書較少涉及的概率算法和近似算法作了重要的補充
G
原書名:Introduction to The Design & Analysis of Algorithms
中文名:算法設(shè)計與分析基礎(chǔ)
作者:Anany Levitin
難度:***
個人評價:****
推薦程度:****
算法書的另一種寫法,以方法為主線,如Brute-Force, Divide-and-Conquer, Greedy techniques,書里面有很多有趣的習(xí)題
H
原書名:Data Structures, Algorithms, and Applications in C++
中文名:數(shù)據(jù)結(jié)構(gòu)算法與應(yīng)用-C++語言描述
作者:Sartej Sahni 譯者:汪詩林等
難度:***
個人評價:***
推薦程度:***
不少人推薦這本書,但我個人覺得這書不怎么樣,中文版翻譯水平差強人意,數(shù)據(jù)結(jié)構(gòu)算法部分把該講的都講了,但沒什么突出的地方,反而C++倒說了不少,代碼的水平也不怎么樣。從ACCU的評價上看,書中的實現(xiàn)與BOOST和STL相比相去甚遠。不過這書有很多實際問題,可以看一看。
I
原書名:
中文名:算法與數(shù)據(jù)結(jié)構(gòu)
作者:傅清祥 王曉東
難度:***
個人評價:****
推薦程度:****
這本是國人寫的最好的數(shù)據(jù)結(jié)構(gòu)算法書之一,講得很細致。最后的三章:復(fù)雜性,并行算法,高級專題有一些有趣的東西,是這些高級內(nèi)容的很好的導(dǎo)論。
J
原書名:
中文名:數(shù)據(jù)結(jié)構(gòu)(C語言版)
作者:嚴蔚敏 吳偉民
難度:***
個人評價:***
推薦程度:***
另一本寫的較好的中文數(shù)據(jù)結(jié)構(gòu)算法書,這本書特別適合考試用(沒有任何輕視的意思)
上面的書適合哪些人(我只是學(xué)生,這只是個人意見)
做學(xué)術(shù)研究:A+C+F
學(xué)過初級課程要深入:C+F+(I后三章)
在職或講求實用:E
入門:B或D
程序設(shè)計競賽:B+G+(I前八章)
考研或程序員考試:J
posted @
本文關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu),由筆耕文化傳播整理發(fā)布。
本文編號:127535
本文鏈接:http://www.sikaile.net/wenshubaike/dxkc/127535.html