Source:
http://riddickbryant.javaeye.com/blog/5458711. CLRS 算法導(dǎo)論
算法百科全書(shū),只做了前面十幾章的習(xí)題,便感覺(jué)受益無(wú)窮。
2. Algorithms 算法概論
短小精悍,別據(jù)一格,準(zhǔn)經(jīng)典之作。一個(gè)壞消息: 同算法導(dǎo)論,該書(shū)沒(méi)有習(xí)題答案。好消息:習(xí)題很經(jīng)典,難度也適中,只需花點(diǎn)點(diǎn)時(shí)間自己也都能做出來(lái)。不好也不壞的消息:我正在寫(xiě)習(xí)題的答案,已完成前三章,還剩九章約二百道題,順利的話二個(gè)月之后發(fā)布。另有中文版名《算法概論》,我沒(méi)看過(guò),不知道翻譯得怎么樣。如果有心的話,還是盡量看原版吧,其實(shí)看原版與看中文版花費(fèi)時(shí)間不會(huì)相差很大,因?yàn)榇蟛糠謺r(shí)間其實(shí)都花費(fèi)在做習(xí)題上了。
3. Algorithm Design 算法設(shè)計(jì)
很經(jīng)典的一本書(shū),很久之前看的,遺憾的是現(xiàn)在除了就記得它很經(jīng)典之外其它都忘光了。
4. SICP 計(jì)算機(jī)程序的構(gòu)造和解釋
六星之書(shū)無(wú)需多言,雖然這不是一本講算法的書(shū),但看完此書(shū)有助于你更深入的理解什么是遞歸。我一直很強(qiáng)調(diào)習(xí)題,看完此書(shū)后你至少應(yīng)該做完前四章的太部分習(xí)題。否則那是你的遺憾,也是作者的遺憾。
5. Concrete Mathematics 具體數(shù)學(xué)
有人說(shuō)看TAOCP之前應(yīng)該先弄清楚這本書(shū)的內(nèi)容,要真是如此的話那我恐怕是看不到TAOCP了。零零碎碎的看了一大半,很多東西都沒(méi)有時(shí)間來(lái)好好消化。如果你是剛進(jìn)大學(xué)不久的本科生,有著大把的可自由支配時(shí)間,那你幸運(yùn)又幸福了,花上幾個(gè)月時(shí)間好好的讀一下此書(shū)吧,收獲絕對(duì)大于你的期望值。
6. Introduction to The Design and Analysis of Algorithms 算法設(shè)計(jì)與分析基礎(chǔ)
很有趣的一本算法書(shū),有許多在別的書(shū)上找不到的趣題,看完此書(shū)絕對(duì)能讓你大開(kāi)眼界,實(shí)在是一本居家旅行,面試裝逼的必備佳作。
7. 編程之美--微軟技術(shù)面試心得
雖說(shuō)是一本面試書(shū),但如果把前面十幾頁(yè)扯掉的話,我更愿意把它看作是一本講解題思維的算法小品。在書(shū)中,作者通常是給出一個(gè)平常解法,然后再一次又一次的優(yōu)化改進(jìn),你可以很清楚的看到基本的算法設(shè)計(jì)思想是如何得到運(yùn)用以解決實(shí)際問(wèn)題的。如果你已經(jīng)有了一些算法的基礎(chǔ),看完本書(shū)應(yīng)該能使你的算法應(yīng)用能力得到一定的提高。另外,本書(shū)生動(dòng)有趣,也同樣適合于初學(xué)者。
8. Fundamentals of Algorithmics 算法基礎(chǔ)
也是很久之前在學(xué)校圖書(shū)館借來(lái)看的,內(nèi)容記不太清楚了,只隱約記得此書(shū)的動(dòng)態(tài)規(guī)劃章節(jié)猶為出彩。應(yīng)該是很經(jīng)典的一本書(shū),個(gè)人以為足以和算法導(dǎo)論等所謂當(dāng)世經(jīng)典平分秋色,但是怎么好像被人提到的不多,或許是我孤陋寡聞了。
9. How to solve it 怎樣解題
二十世紀(jì)最偉大的數(shù)學(xué)思想家之一波利亞的力作,講一般性的解題方法:怎么認(rèn)識(shí)問(wèn)題,怎么轉(zhuǎn)換問(wèn)題,怎么解決問(wèn)題,如何在問(wèn)題中得到啟發(fā),如何找到一個(gè)通往答案的方向。
10. Programming interviews exposed 程序員面試攻略
一本消遣之作。個(gè)人以為要比國(guó)內(nèi)的某“XXX面試寶典”純粹一些,至少也有一些啟發(fā)性的內(nèi)容,而不單單是面試題解庫(kù)。
11. Programming Pearls 編程珠璣
學(xué)習(xí)算法不僅需要像Alogrithms,算法導(dǎo)論這樣的重量級(jí)的內(nèi)功心法,像《編程之美》、《編程珠璣》這樣的輕量級(jí)的輕功身法也必不可少。前些年網(wǎng)上不是很流行像“給你10億個(gè)數(shù),找到最大的n個(gè)”或者“給你10億個(gè)數(shù),找出現(xiàn)次數(shù)最多的那個(gè)數(shù)”之類的百度面試題嗎?看了此書(shū)你就知道怎么解決了。相比于《編程之美》來(lái)說(shuō),本書(shū)中的示例技巧性略低一些,但是也更有實(shí)際應(yīng)用價(jià)值一些。
12. 算法藝術(shù)與信息學(xué)競(jìng)賽
如果算法導(dǎo)論是九陽(yáng)神功,那這本無(wú)疑就是九陰真經(jīng)。本書(shū)是專為參加一些諸如ACM之類程序設(shè)計(jì)比賽的同學(xué)而寫(xiě)的,江湖人稱“黑書(shū)”。里面講的都是一些在編程比賽中常用的算法、數(shù)據(jù)結(jié)構(gòu),以及一些數(shù)論和計(jì)算幾何等。我雖然并不搞競(jìng)賽,但也從此書(shū)中受益頗多。
13. An Introduction to Probability Theory and Its Applications
準(zhǔn)備看的,現(xiàn)在才發(fā)現(xiàn)概率論有多么重要,可惜本科的時(shí)候沒(méi)有好好學(xué)。前不久一個(gè)同學(xué)問(wèn)我個(gè)問(wèn)題,我半天弄了一個(gè)程序給他,他說(shuō):這里就不是相關(guān)系數(shù)么,Excel一下就完事!我暈,我還真不知道那就是相關(guān)系數(shù)。
14. Numerical Analysis
這本的作者是Richard L. Burden,J. Douglas Faires
數(shù)值分析,討論各種數(shù)值算法,比如插值、擬合、積分、微分方程的求解、線性和非線性方程組求解等。準(zhǔn)備詳細(xì)看。
15. TAOCP 計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)
傳說(shuō)中的TAOCP,說(shuō)的人多,看的人少。TAOCP四卷堪稱是算法藏經(jīng)閣中的易筋經(jīng)或者是少林七十二絕技。天下武學(xué),盡出少林,天下算法,盡出TAOCP也。這點(diǎn)你可以順便翻開(kāi)一本算法書(shū)看看他的引用文獻(xiàn)就知道了。我只讀了第四卷的部分章節(jié),前三卷暫時(shí)還沒(méi)敢看,還在讀書(shū)計(jì)劃表中被無(wú)限期擱置。