面試算法愛好者書籍/OJ推薦

面試算法愛好者書籍/OJ推薦


這個書單也基本適用於準備面試。

一、教科書

基本上一般的算法課本介紹的範圍都不會超出算法導論和算法引論的範圍。讀完這兩本書,其他的算法課本大致翻翻也就知道是什麼貨色了。

1. 算法導論

s1959967這本書的內容用三個字來總結,就是偉光正。基本上囊括了常用算法的方方面面,證明鉅細無遺,十分適合初學者閱讀。

但是這本書的一大問題就是,證明雖然詳細,卻從未解釋算法背後的理由。只告訴你如何去做,卻從未探討過爲何如此去做。

2.算法引論(Introduction to Algorithms, a Creative Approach)

2算法導論告訴我們how,這本書就力圖告訴我們why。書中極爲強調的數學歸納法是建立算法設計思維的重要一步。

另外,這本書的習題中有很多常見的面試難題,包括skyline、衆數和名人問題。

3.Algorithms on Strings, Trees and Sequences

3

前兩本書對於一般的算法描述已經比較全面了。但是在字符串相關算法方面,這本書不可不讀。讀完之後,對字符串算法的全貌就會有一個瞭解,包括後綴樹和AC自動機這些平常不太容易接觸到的數據結構。

作者是做生物的,所以後面有一些關於生物的應用,直接忽略就好,沒神馬意思。

4.具體數學

4這本書和前三本相比,就學院化了很多。是很數學的一本書,但是裏面介紹的很多思想和例子都很好玩。

有大把時間就可以讀讀娛樂,沒時間就算了。

二、雜書

5. Algorithmic Puzzles

6相比前面那幾本大作,這本小書更像是一本腦筋急轉彎的collection。

但是別小看這本書。它在題目之前提到的解題模式,是有着廣泛應用的。

6. 算法設計與分析基礎

7

因爲提到了上面那本書,這本書也就不得不提一下。算法設計與分析基礎,同樣總結了類似的解題方法,所以這兩本書可能是個互相“借鑑”的關係。

這本書的問題是,想法雖然好,但是習題實在是太爛了。爛到你不需要掌握他的那些想法就能解出來。所以隨便看看就好。

7. 挑戰程序設計競賽

5

 

一本新的程序設計競賽講解書籍。這本書相對於黑書,難度可能略有下降(我以前匆匆看過黑書),但是同時語言文字上好了兩個數量級。反正我們也不是專業搞ACM競賽的,難度上看這本書足夠。

三、面試算法

面試算法中有很多很tricky的東西,在書本中不會提到,在競賽中也很少遇到(某人將其命名爲folk algorithms, 鄉野算法)。這時候就需要專門用來準備面試的書籍登場了。

8. Cracking the Code Interview

8這書的題目難度比較正常,但是覆蓋面夠廣。如果放在兩年前,這本書基本覆蓋了所有popular的面試算法題目。

9. Elements of Programming Interviews

9這本書是一本很討厭的書。內容新且難。每個帶Ninja標誌的題目都值得好好琢磨。但是EPI的語言非常糟糕。有的題目你得結合答案講解來看才明白題目是什麼意思。有的題目你得結合代碼來看才知道題目是什麼意思。

另外這本書開頭的解題模式也值得好好研讀。

四、Online Judge

自動化的在線評測系統。我認真做過的只有兩個:

10. Leetcode。

http://oj.leetcode.com

至今收集了150道面試算法題目,提供了在線的testcase自動測試,其中還頗有幾道難題。當然大部分其實是莫名其妙的水題。

一般來說leetcode認真做完,認真總結,全面理解,應對一般的面試算法就不成什麼問題。

11. USACO training

這個training的前三章沒有超出leetcode難度太多,而且題目也不常見,是些很好的補充。從第四章開始,難度就開始碾壓一般面試算法了。量力而行。

 

http://zalgorithm.com/blog/rhoaias/2014/04/14/%e9%9d%a2%e8%af%95%e7%ae%97%e6%b3%95%e7%88%b1%e5%a5%bd%e8%80%85%e4%b9%a6%e7%b1%8doj%e6%8e%a8%e8%8d%90/



發佈了429 篇原創文章 · 獲贊 33 · 訪問量 143萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章