當前位置:
首頁 > 科技 > 辛苦編碼好幾年,一朝栽在演算法前

辛苦編碼好幾年,一朝栽在演算法前

在《武林外傳》中

赤焰狂魔莫小貝想學武

老白讓莫小貝先扎馬步

莫小貝發出如下哀嚎

老讓我扎馬步扎馬步,扎馬步到底有啥用啊!

扎馬步很有用

有啥用請大家自行百度

在計算機界有一個東西堪比馬步

深得IT大佬的重視

但就是不受一些程序員的待見

這就是

演算法

不受待見的原因很簡單

但就像老白一直強調莫小貝要扎馬步一樣

花拳繡腿可以逞一時之快

但只有具備基本的內功才可以華山論劍

學會演算法最重要的

當然是為了裝X過面試啊

所以很多人在面試前夕都會

為什麼面試官們對演算法青睞有加

天下武功唯快不破

演算法很大程度上代表著效率

拿搜索來說

李開復當年寫的Othello 對弈軟體獲得了世界冠軍

比第二名的搜索效率快了足足60倍

拿支付來說

朱贇面對如何壓縮信用卡的bin data以免bug的問題時

也需要用到演算法

計算機受人類青睞

不就是因為人家快嘛

那既然演算法可以有效地進行數據優化

你們為什麼還要嫌棄它!

演算法作為自計算機技術萌生便一直蓬勃的科學

支撐了這門技術最基礎、最內涵的邏輯

任憑IT技術如何發展

演算法和計算機基本的邏輯始終不會變

《未來簡史》的作者甚至說

(這話真是他說的)

所以如今大數據時代帶來

演算法又引領了很多個行業的蓬勃發展

比如大火的人工智慧

再比如火爆到需要高薪招人的區塊鏈

學會演算法

前繼時代精華

後踏時代潮流

不是夢啊不是夢

看到這裡

你還甘願做一個CV工程師嗎

為什麼不乘上時代的大浪

做一個互聯網行業的的高端人才

成為一名真正的工程師呢

資深程序員耗子叔已經為大家獻上武林秘籍啦

可以說如果有了演算法buff

那麼走上人生巔峰不是夢

- 1 -

程序員的演算法聖經

《演算法》

塞奇威克 (Robert Sedgewick) / 韋恩 (Kevin Wayne)

[譯]謝路雲

人民郵電出版社

這本書的地位就不需要我多講了吧,演算法領域書中宗師級別的地位,每一個演算法入門都應該看並且能看懂的書。

沒學過高等數學?只要你知道高中數學知識就行。

沒學過編程?作者在開頭就講了有關Java的基礎知識,即便學的是其他語言,也不影響閱讀和理解。

可以說對初學者非常友好了。

作者在這本書運用了實例告訴你不同演算法的用途、優缺點,並且配有大量的圖和代碼,可以非常直觀地幫你理解書中的演算法。實用性強,可讀性也很好,讓你不知不覺中在紅黑樹、Prim演算法、壓縮演算法中走過,入門初學的首選。

當然,如果你覺得這本書還是有些枯燥,不易理解,那不妨看看下面這本書。

- 2 -

很萌很有料的演算法入門書

《演算法圖解》

[美] Aditya Bhargava

[譯]袁國忠

人民郵電出版社

這本書的逗比氣質從封面開始就已經暴露無遺,是一本不錯的初級初級初級演算法入門書。

有多簡單呢,豆瓣評論都開始用「科普書」來形容它了,你說它好懂不好懂!

書中幾乎每一頁都有清新活潑的手繪插圖,而且佔比還不小。作者用各種萌萌的手繪插圖講解演算法的基本概念,比如廣度優先搜索啦、散列函數啦、內存問題啦,深入淺出,簡單易懂,絕對的寓教於樂,非常適合零基礎的人來讀,不知道的人猛地打開還以為是一本初級數學書。

但是當你已經入了演算法的門,想要繼續鑽研,那這樣的書就絕對不夠了,你需要往更深、更廣的地方來夯實自己的理論知識。

- 3 -

不用教科書級別,人家本身就是教科書

《演算法導論》

作者: Thomas H.Cormen / Charles E.Leiserson / Ronald L.Rivest / Clifford Stein

[譯]殷建平 / 徐雲 / 王剛 / 劉曉光 / 蘇明 / 鄒恆明 / 王宏志

機械工業出版社

這本書從書名看就透著一股學院高冷范兒。它是美國計算機科學本科生的教科書,也是演算法領域中的經典書籍。所以常被拿來和《演算法》比較。

與《演算法》不同的是,《演算法導論》更偏向理論和演算法證明,涉及到了一些比較專業的數學知識,不適合初學者,更適合入門之後打算繼續鑽研演算法的人群。

因為是一本專業書,所以內容專業嚴謹,講解也很細緻,有關演算法證明可以說是精華所在,這也是很多人覺得非常難啃的原因。但當你吃透這本書,你就會發現渾身像被打通了任督二脈一樣,對於演算法的理解更加清晰,也更容易理解計算機的思維。

- 4 -

論如何優雅地用演算法解決問題

《編程珠璣》

[美] Jon Bentley

[譯]黃倩 / 錢麗艷

人民郵電出版社

這本書的作者是《演算法導論》其中一個作者的導師。

牛人果然是一脈相承的。

如果說上面三本書還停留在演算法層面,那麼《編程珠璣》就開始向思維領域方面發展了。

書不厚,講的基本是編程中面臨的問題和解決方法,讀起來卻不容易。授人以魚不如授人以漁,作者用相當豐富的例子舉證,循序漸進地引導讀者進行思考,為什麼會出現這個問題?為什麼要用這種演算法而不是另一種?如何在不同演算法的實踐方案中獲得最優解?

起於演算法不止於演算法,《編程珠璣》更多的是用一些「腦洞大開」的解決方式為程序員們提供一種思維的軌跡,開闊視野又不乏生動有趣。

以上全部圖書均可在極客商城享受限時全網最低價,過了這村可就沒這店啦!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

從研發到量產,深度剖析Apollo 3.0技術演進
開發者是保護代碼道德的最後防線?

TAG:InfoQ |