Ⅰ 《演算法導論》與《演算法設計》選擇哪本更好
總的來說,兩本各有所長,建議可以都涉及涉及一下,然後根據自己重點學習哪個。另外我覺得想自學演算法,我認為吧,就是看學寫無數演算法,然後就可以信手拈來的自己去寫。同時如果自學演算法,我的建議是最好是多思考多動手(可以結合現實當中的各種程序演算法,想一下他們怎麼用演算法寫出來的,就比如飯堂里刷卡算錢等等。。如何用演算法做到的。。),這樣自學就很有意義了。
Ⅱ 演算法不扎實的程序員,每一個都很慌
初學者經常問這樣的問題,然而這些其實是錯誤的問題。
對於初學者而言,你最應該優先考慮的是,哪些東西構成了程序的基礎?
最經典的一句話: 程序 = 數據結構 + 演算法 。
如果說編程語言是程序的血肉,那麼演算法就是程序的靈魂。
人不能沒有血肉之軀,但是沒有靈魂的人依然只是一個死人。
不能單純依靠演算法衡量一個程序員的好壞,但是面試的時候考演算法絕對是簡單高效的篩選手段。近些年大廠的面試幾乎必考演算法也是這個原因。每一個演算法學的不扎實的程序員,在面試的時候都很慌。
下面這些書籍應該是演算法方面最常見的經典書籍。我有幸都讀過,有些讀完了,有些半途而廢,不過基本上也都算是熟悉。順序上由易到難,從薄到厚,每本書下面我會簡單的介紹一番,希望能對你的學習有所幫助。
首先是兩本演算法入門書籍,也可以當做演算法讀物:
《啊哈!演算法》
用他的自我介紹的來講:「這不過是一本有趣的演算法書而已,和別的演算法書比較,如果硬要說它有什麼特點的話,那就是你能看懂它。」
圖文並茂,而且畫風有趣,適合新手入門,但是代碼是C的,看著比較累,文字也略顯冗長。
圖是非常棒的,啟蒙用,非教科書
《演算法圖解》
和《啊哈》類似,他的介紹是:「像小說一樣有趣的演算法入門書。」
書裡面講的很好,python代碼也很容易讀懂,比之《啊哈!演算法》,書中的例子沒有那麼有趣,但是圖很清晰,文字和代碼不冗雜。
缺點同樣是非教科書,非常淺顯,三四個小時就看完了。有一種剛剛熱身的感覺。
接下來這幾本都是最常見的書了:
《數據結構與演算法分析C語言描述》
這本書的作者幾乎不浪費筆墨在一些簡單的地方。書很薄,但是覆蓋面很廣很深,作者實在是非常厲害。
不過反過來說,就是有些地方講的語焉不詳……
這本書還有java語言版本的,但是相比之下C的更好一些。
挺好的一本書。
還有一點是翻譯不是很給力,好多人都沒堅持看完。
《數據結構與演算法Python語言實現》
英文版評分非常高,中文版評分非常低……
據說是也翻譯的不好。另外就是本書自身錯誤也不少……幾版過後依然很多沒有改過來。
書中數學證明和介紹比較簡單。因為採用Python語言的原因,比較易讀。
淺顯易懂,內容上循序漸進,環環相扣。相比於上一本,我會更推薦一些。厚度也不算厚。
《數據結構與演算法 Python語言描述》
北大教授裘宗燕的書,這本書前面寫的挺好的,尤其是在面向對象還有ADT等思想的闡述,都很不錯。
但是讀到後來給我一種虎頭蛇尾的感覺,前面氣勢如虹緒論就寫了很長,最後三章感覺有點草草收尾的意思。就像編輯在催稿,而作者很忙的樣子……
另外就是這本書的編排順序我個人也不是特別喜歡。
接下來是兩本大部頭,都是非常厚的書。
他們最大的特點就是:出現率遠大於看完率
《演算法導論》
演算法書中的權威,MIT的6.046J就是按照這個來講的。
公認最好的演算法書,組織結構合理,內容詳盡。引導讀者從思維方式上對演算法進行領悟。
書中對演算法的數學結構進行了詳盡的闡述。有非常多的數學證明。
這本書我說不出什麼缺點,只能說有些內容是因為我還沒到大牛的境界,暫時還無法體會理解。
我個人的觀點是:不要糾結於詳細的偽代碼,不用糾結於連篇累牘的講解。體會其中演算法的精髓就好。
《演算法》第四版
如果說,《演算法導論》是學術上最好書,那這本應該是實際應用最好的書。
它對數學的要求比《演算法導論》低很多,摒棄了演算法的證明。
書中具體給出了每位程序員應知應會的50個演算法,深入淺出,大量圖解。非常棒。
java基礎的話你能擼出來Hello World基本上就可以開始看這本書了,這本書最大的不友好之處在於它的第一章非常長,沒看過的人又不知道哪裡可以跳過。
這本書後面的翻譯感覺不如前邊了,不知道是換人了還是DDL了……
翻開書就會看到很多的圖,配套作者在coursera上面的課程學的話事半功倍!
接下來的幾本我看的比較少,簡單介紹一下,希望大家自己去發現和了解,不要漏下這些好書:
《編程珠璣》
很薄一本啊,但是我放在那還沒看完……
這本書被稱為: 歷史 上最偉大的計算機科學著作之一
融深邃思想、實戰技術與趣味軼事於一爐的奇書。
內容不深,但是不是一個知識點一個知識點的給你講解演算法原理的。
這本書的核心思想是讓你了解如何正確選擇和高效地實現演算法。書中還有一些趣聞軼事,看著倒是很有意思~
有興趣的同學可以看看~
《演算法競賽入門經典》系列
演算法競賽入門經典書,ACM必備書籍吧算是。書中題目對於競賽來說比較簡單,但是對於一般我們平時工程來說偏難。語言用的是C/C++,請好好做例題好好做作業,讀書的時候好好思考和復習~
反正我是沒讀過,捂臉……
《劍指Offer》
這個書很有意思,對於在校生來說我個人覺得是必看的書。沒有任何工作經驗的同學在面試的時候真的會被問懵的。這本書可以讓你了解如何應付考官日常問題,在解答面試問題的時候,書中很多方法和思路會讓考官覺得你思考的很全面,給你加不少分。
我面試的時候也曾快速掃過一遍這本書,讓我在回答問題的時候條理更清晰。書中代碼是C的,emmm,於是代碼部分我就沒太看……
《用Python解決數據結構與演算法問題》
最後給大家推薦一本在線的 免費 的演算法書。
https://facert.gitbooks.io/python-data-structure-cn/
不是大部頭,也不是讀物,新手入門足夠用,書中介紹了大多數日常需要的演算法,並且講的比較淺顯~轉行的新手基本可以通過這本書來快速掌握常用基本演算法了~
反正免費,是否適合自己看兩頁也就get了~
如果需要PDF版,可以在「程序員必修課」公眾號後台回復:「Python演算法書」獲取。
Ⅲ 《演算法導論》有什麼好的學習心得
《演算法導論》自第一版出版以來,已經成為世界范圍內廣泛使用的大學教材和專業人員的標准參考手冊。本書全面論述了演算法的內容,從一定深度上涵蓋了演算法的諸多方面,同時其講授和分析方法又兼顧了各個層次讀者的接受能力。各章內容自成體系,可作為獨立單元學習。所有演算法都用英文和偽碼描述,使具備初步編程經驗的人也可讀懂。全書講解通俗易懂,且不失深度和數學上的嚴謹性。第二版增加了新的章節,如演算法作用、概率分析與隨機演算法、線性編程等,幾乎對第一版的各個部分都作了大量修訂。
本書深入淺出,全面地介紹了計算機演算法。對每一個演算法的分析既易於理解又十分有趣,並保持了數學嚴謹性。本書的設計目標全面,適用於多種用途。涵蓋的內容有:演算法在計算中的作用,概率分析和隨機演算法的介紹。本書專門討論了線性規劃,介紹了動態規劃的兩個應用,隨機化和線性規劃技術的近似演算法等,還有有關遞歸求解、快速排序中用到的劃分方法與期望線性時間順序統計演算法,以及對貪心演算法元素的討論。本書還介紹了對強連通子圖演算法正確性的證明,對哈密頓迴路和子集求和問題的NP完全性的證明等內容。全書提供了900多個練習題和思考題以及敘述較為詳細的實例研究。
本書內容豐富,對本科生的數據結構課程和研究生的演算法課程都是很實用的教材。本書在讀者的職業生涯中,也是一本案頭的數學參考書或工程實踐手冊。
Ⅳ 《演算法導論》這本書好么
數學基礎很好的話,你可以看看,演算法導論重在講方法,對你會哪門編程語言並不關心,而且演算法導論涉及到了很多實際問題,諸如線性規劃、RSA、NP完全性、近似解等等,如果非常感興趣可以看看試試,事在人為嘛,如果要是需要電子版的話,我有哦
話說英文版印刷錯誤較少,中文第二版個別地方有疏漏,最可惡就是把公式給弄錯,有時害我要浪費一些時間找問題
Ⅳ 《演算法導論》這本書怎麼樣該怎麼用
我個人覺得屬於一本比較全面的傳統經典演算法的總覽。行文論述嚴謹,更偏理論,要求有一定的高等數學基礎。
我建議如果你是演算法初學者,或是偏應用者,最好先看看其它演算法介紹書。
Ⅵ 演算法導論和演算法概論 這兩個書是一樣么 不是的話 那個更好
不一樣,演算法導論系統的介紹了每種計算機科學裡面涉及到的常用演算法,裡面每種演算法都給出了偽代碼和相關的原理解釋,證明等,他更像是類似字典的一本工具書,在我看來是如此
演算法概論這個書不太了解,但是裡面好像從最簡單的古老演算法作為例子開始,最後還介紹了很高端的量子演算法。總之我們一般都是用演算法導論,這個和我們自己想要學習的東西有關系,沒有所謂更好,看你自己的需要而已。
Ⅶ 求演算法第四版mobi/azw格式的資源,kindle讀的,最好是中文版的,演算法導論
你要是有PDF,TXT,world版的我可以給你弄成mobi。
你找這么專業的mobi原版很難找的
Ⅷ 哪位大佬有 《 演算法(第4版)》電子版書籍百度網盤資源下載
《 演算法(第4版)》網路網盤txt 最新全集下載
鏈接:
《演算法(第4版)》是一本美 Robert Sedgewick / 美Kevin Wayne編寫,由人民郵電出版社在2012年出版的書籍。
Ⅸ 請教演算法導論這本書怎麼樣適合什麼程度的學習者
適合了解一門或以上編程語言的人,即使你沒學過數據結構也沒關系,因為它把數據結構中的演算法從基礎到非常深入全部都包括了,個人建議你先把C語言用熟悉了,然後再去看,演算法導論,如果有決心看完,數據結構都不用看,因為你看完演算法導論,就等於學會了非常高級的數據結構,但是看完很難。。。
至於C++,可以順帶著學一下,然後用C++自己把演算法實現一下,等於練兩倍。
也不一定非得學C++,可以學習Java或者C#,看你的發展方向
Ⅹ 演算法 第四版 這本書有配套的習題答案嗎
1. "我想學好基礎的數據結構和演算法! "
不多說,有這心就往下看。
2. "我應該准備些什麼? "
a. 這本橙書: 《演算法 第四版》
--亞馬遜中文版: amazon.cn 的頁面
--線上資源: Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne
b. 注冊Coursera, 依次加入這2門課: <演算法, 第一部分> <演算法, 第二部分>
Part 1:
Part 2:
如果沒開課, 就先標記, 這樣開課時會通過郵箱提示你.
3. "我應該做些什麼? "
先熟讀書內1.1和1.2, 最好把課後習題都做一做. 網站上開課後(即使已經開課幾周了, 沒關系), 跟住上課內容: 課本知識 + 視頻內容 + 課件重點+ Exercises (獨立完成且滿分) + Programming Assignments (獨立完成且盡量滿分) + Job Interview Questions. 從Part 1到Part 2, 跟住, 跟住, 跟住!
關於做書後練習題,參見:
演算法 第四版(algorithms 4th edition ) 這本書有配套的習題答案嗎看 - 孟祥豐的回答
4. "我學完了呢!"
再去跟隔壁斯坦福的演算法公開課, 他還給證書! 因為參考書籍基本上就是是《CLRS》, 所以也就是強迫自己去仔細研讀演算法導論.
---課程名稱:
<演算法設計與分析, 第一部分>
<演算法設計與分析, 第二部分>
---課程地址
Part 1:
Part 2: 2