程序員進階書單:算法篇
《算法圖解》

通常的算法書讓人昏昏欲睡,莫測高深,讓人讀得異常費勁,備受打擊。
但是這本書不同,這是一本“”好看“的書。說它好看,這本書很薄,以視覺化的方式表達信息,將復雜,抽象的理論,闡釋的通俗易懂。就算法入門級別的角度來說,很可能不會再碰到比這本更簡單易懂的了。
如果你剛剛開始接觸算法,或者在算法方面還比較薄弱,建議從這本書開始,把復雜的事情用說簡單,這本書做到了。
《算法》

這本書是算法領域的經典參考書,全面講述了算法和數據結構的必備知識。全面論述了排序,搜索,圖處理和字符串處理的算法和數據結構,涵蓋每位程序員應知應會的50種算法。
全書算法以java語言實現,即便沒有學過java,第一章也能夠帶你入門,在語法方面沒有問題。本書有大量的圖解,詳盡的代碼和講解,是極佳的數據結構入門書籍。
這本書講得很細致,很透徹,不是側重于數學推導,而是注重于算法的實。作為初學者,讀這本書是一個很明智的選擇,它是非常好的算法入門書。
《算法導論》

本書選材經典、內容豐富、結構合理、邏輯清晰,將嚴謹性和全面性融為一體,深入討論各類算法,并著力使這些算法的設計和分析能為各個層次的讀者接受。
這不是一本入門級的算法書,需要有一定數學基礎以及算法入門知識,否則它只能作為你認為牛X,但是永遠也讀不完的書之一,還不能壓泡面:-(
別把這本書做入門書,說是入門書的人要么就是特別厲害而且特別不負責任的,要么就是啥都不懂的人以為看到“導論”兩個字就認為特別基礎的人。
關于數學,必須是學過高等數學,矩陣和離散數學的,如果沒學過這幾本,那么里面的東西也真夠嗆。
如果你想成為算法上不弱于大多數人的程序員,那么請耐心讀完這本書,這是一本需要一定的耐心和毅力才能讀懂的經典
《計算機程序設計藝術・卷1:基本算法》

高德納(Donald E. Knuth)大神的著作,別被”基本算法”這幾個字誤導了,這本書的難度根本就不是基礎的:-)
如果你連大O小o都搞不清楚, NP和NP-hard都搞不清楚,基本的插值多項式都不知道;或者連算法導論都沒看,對數學分析沒有興趣,認為數學只是工具;寫個算法不會用偽代碼而一味的用C++或著JAVA來描述,那么可以說不必看這本書了。這里是數學的世界,滲透著機器處理問題的新式思維,一本很多TCS著名學者都不敢輕言“看懂”的書。
這套書還有其他卷,有興趣的讀者可以搜索一下看,這是一套計算機世界的高級內功心法,需要極大的耐心和毅力。如果讀不懂,那也不要過于糾結,我也不懂:)