1. 程式人生 > >演算法經典書籍推薦

演算法經典書籍推薦

  原帖地址     作者:Rowp  

      學計算機的人是幸福的,因為在這個領域中有如此多的通俗易懂(相對來說)的經典好書,你需要做的只是堅持把它們一本一本讀下去而已。在這裡列出一些我看過或者準備看的演算法書籍,以供參考。

     1. CLRS 演算法導論 演算法百科全書,只做了前面十幾章的習題,便感覺受益無窮。

     2. Algorithms 演算法概論 短小精悍,別據一格,準經典之作。一個壞訊息: 同演算法導論,該書沒有習題答案。好訊息:習題很經典,難度也適中,只需花點點時間自己也都能做出來。另有中文版名《演算法概論》,我沒看過,不知道翻譯得怎麼樣。如果有心的話,還是儘量看原版吧,其實看原版與看中文版花費時間不會相差很大,因為大部分時間其實都花費在做習題上了。

     3. Algorithm Design 演算法設計 很經典的一本書,很久之前看的,遺憾的是現在除了就記得它很經典之外其它都忘光了。

     4. SICP 計算機程式的構造和解釋 六星之書無需多言,雖然這不是一本講演算法的書,但看完此書有助於你更深入的理解什麼是遞迴。我一直很強調習題,看完此書後你至少應該做完前四章的太部分習題。否則那是你的遺憾,也是作者的遺憾。

     5. Concrete Mathematics 具體數學 有人說看TAOCP之前應該先弄清楚這本書的內容,要真是如此的話那我恐怕是看不到TAOCP了。零零碎碎的看了一大半,很多東西都沒有時間來好好消化。如果你是剛進大學不久的本科生,有著大把的可自由支配時間,那你幸運又幸福了,花上幾個月時間好好的讀一下此書吧,收穫絕對大於你的期望值。

    6. Introduction to The Design and Analysis of Algorithms 演算法設計與分析基礎 很有趣的一本演算法書,有許多在別的書上找不到的趣題,看完此書絕對能讓你大開眼界,實在是一本居家旅行,面試裝逼的必備佳作。

    7. 程式設計之美--微軟技術面試心得 雖說是一本面試書,但如果把前面十幾頁扯掉的話,我更願意把它看作是一本講解題思維的演算法小品。在書中,作者通常是給出一個平常解法,然後再一次又一次的優化改進,你可以很清楚的看到基本的演算法設計思想是如何得到運用以解決實際問題的。如果你已經有了一些演算法的基礎,看完本書應該能使你的演算法應用能力得到一定的提高。另外,本書生動有趣,也同樣適合於初學者。  

    8. Fundamentals of Algorithmics 演算法基礎 也是很久之前在學校圖書館借來看的,內容記不太清楚了,只隱約記得此書的動態規劃章節猶為出彩。應該是很經典的一本書,個人以為足以和演算法導論等所謂當世經典平分秋色,但是怎麼好像被人提到的不多,或許是我孤陋寡聞了。

    9. How to solve it 怎樣解題 二十世紀最偉大的數學思想家之一波利亞的力作,講一般性的解題方法:怎麼認識問題,怎麼轉換問題,怎麼解決問題,如何在問題中得到啟發,如何找到一個通往答案的方向。

    10. Programming interviews exposed 程式設計師面試攻略 一本消遣之作。個人以為要比國內的某“XXX面試寶典”純粹一些,至少也有一些啟發性的內容,而不單單是面試題解庫。

    11. Programming Pearls 程式設計珠璣 學習演算法不僅需要像Alogrithms,演算法導論這樣的重量級的內功心法,像《程式設計之美》、《程式設計珠璣》這樣的輕量級的輕功身法也必不可少。前些年網上不是很流行像“給你10億個數,找到最大的n個”或者“給你10億個數,找出現次數最多的那個數”之類的百度面試題嗎?看了此書你就知道怎麼解決了。相比於《程式設計之美》來說,本書中的示例技巧性略低一些,但是也更有實際應用價值一些。

    12. 演算法藝術與資訊學競賽 如果演算法導論是九陽神功,那這本無疑就是九陰真經。本書是專為參加一些諸如ACM之類程式設計比賽的同學而寫的,江湖人稱“黑書”。裡面講的都是一些在程式設計比賽中常用的演算法、資料結構,以及一些數論和計算幾何等。我雖然並不搞競賽,但也從此書中受益頗多。

    13. An Introduction to Probability Theory and Its Applications 準備看的,現在才發現概率論有多麼重要,可惜本科的時候沒有好好學。前不久一個同學問我個問題,我半天弄了一個程式給他,他說:這裡就不是相關係數麼,Excel一下就完事!我暈,我還真不知道那就是相關係數。

    14. Numerical Analysis 這本的作者是Richard L. Burden,J. Douglas Faires 數值分析,討論各種數值演算法,比如插值、擬合、積分、微分方程的求解、線性和非線性方程組求解等。準備詳細看。

    15. TAOCP 計算機程式設計藝術 傳說中的TAOCP,說的人多,看的人少。TAOCP四卷堪稱是演算法藏經閣中的易筋經或者是少林七十二絕技。天下武學,盡出少林,天下演算法,盡出TAOCP也。這點你可以順便翻開一本演算法書看看他的引用文獻就知道了。