演算法書籍推薦
A. 哪些學習數據結構與演算法的書籍值得推薦
大學計算機數據結構教材是 嚴蔚敏版的《數據結構》可以拿來入門。然後可以根據自己的實際情況來安排怎麼樣學習數據結構。很多人是看一遍書,然後在遇到演算法之後再去實現它。在這里列出一些我知道的演算法書籍,以供參考。(我也只看過演算法導論,編程之美)
1. CLRS 演算法導論
演算法網路全書,只做了前面十幾章的習題,便感覺受益無窮。
2. Algorithms 演算法概論
短小精悍,別據一格,准經典之作。一個壞消息: 同演算法導論,該書沒有習題答案。好消息:習題很經典,難度也適中,只需花點點時間自己也都能做出來。不好也不壞的消息:我正在寫習題的答案,已完成前三章,還剩九章約二百道題,順利的話二個月之後發布。另有中文版名《演算法概論》,我沒看過,不知道翻譯得怎麼樣。如果有心的話,還是盡量看原版吧,其實看原版與看中文版花費時間不會相差很大,因為大部分時間其實都花費在做習題上了。
作者:向小剛
鏈接:http://www.hu.com/question/19987046/answer/13945644
來源:知乎
著作權歸作者所有,轉載請聯系作者獲得授權。
B. 求高手推薦幾本關於演算法方面的書,我是計算機專業的大一新生。
剛入門C語言,首先多花些精力熟悉C的結構和用法吧。計算機專業一般會在下學期或者大二的時候開設「數據結構」這門課。如果想提前熟悉演算法的話,推薦看看《數據結構》這本教材(清華大學出版社,嚴蔚敏)。另外再推薦一本演算法的最最經典的參考書:《演算法導論》(有英文版和中文版)。就之前學習的經驗來看,《演算法導論》一本足矣。其他的書只不過是看起來更符合我們中國同學的學習習慣,所以理解起來可能更簡單。
對於演算法的學習,這里給出一點小小的建議:
①熟悉語言的應用(對你來說就是C語言)
②了解數據結構,因為演算法和數據結構是一體的
③可以的話試著參加ACM演算法競賽,只有通過不斷的練習和事件,才能最終熟悉各種演算法的實現。
C. 有哪些好的c/c++演算法的書
能推薦的書籍:演算法導論(原書第3版) 這一本書的思路和我很類似,都是以偽代碼的思路展開,但是與我相比,欠缺的是如何轉為實際代碼。演算法(第4版) 這一本書各種圖例,很淺顯易懂,但是是java。數據結構與程序設計 C++語言編寫,我以前的大學教材,習題很值得一做。Data Structures & Algorithm Analysis in C++ (9780132847377): Mark A. Weiss: Books C++11編寫,若你想要C++11編寫的數據結構教材,可以參看這本書。HackerRank 練習Data Structures 與 Algorithms版塊,題目難度循循漸進。著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。若是演算法的話,我個人認為是不應該局限於C/C++的,只是目前很多書籍會以 演算法 ---- XXXX 語言實現 來作為講解,其中一個原因是目標讀者熟悉這種語言。而在推薦書籍前,我想給你我認為一種學習演算法的方式,然後你再看書籍時按照這樣的方法學,或許會好一點點。不過這是我的一言,若你覺得適合你就採用,若覺得不好,也可以再摸索出適合自己的方式,適合自己的才是最好的。我認為我們若初學演算法,可以分為兩步,第一步,思考清楚演算法,你可以使用自己最舒服的表達方式來記錄你的思考流程。我舉一個例子,如 bubble sort ,你不必最開始就想著如何用 C/C++來寫,你可以考慮清楚bubble sort到底是什麼,然後流程方法是什麼,然後記錄下來。那麼,我來回答這個問題會是類似這樣,bubble sort是一種排序的方法,它可以把給入的元素序列進行排序。
D. 你都知道哪些關於算數入門的書籍,推薦下
原理 入門:《編碼:隱匿在計算機軟硬體背後的語言》這是一本講述計算機工作原理的書。不過,你千萬不要因為「工作原理」之類的字眼就武斷地認為,它是晦澀而難懂的。作者用豐富的想像和清晰的筆墨將看似繁雜的理論闡述得通俗易懂,你絲毫不會感到枯燥和生硬。 更重要的是,你會因此而獲得對計算機工作原理較深刻的理解。這種理解不是抽象層面上的,而是具有一定深度的,這種深度甚至不於「電氣工程師」和「程序員」的理解。不管你是計算機高手,還是對這個神奇的機器充滿敬畏之心的菜鳥,都不妨翻閱一下《編碼:隱匿在計算機軟硬體背後的語言》,讀一讀大師的經典作品,必然會有收獲。
E. java數據結構書籍推薦
1. 入門級
針對剛入門的同學,建議不要急著去看那些經典書,像《演算法導論》、《演算法》這些比較經典、權威的書。雖然書很好,但看起來很費勁,如果看不完,效果會很不好。所以建議先看兩本入門級的趣味書:
《大話數據結構》
《演算法圖解》
《數據結構與演算法分析:C語言描述》
《數據結構與演算法分析:C++描述》
《數據結構與演算法分析:java語言描述》
《數據結構與演算法JavaScript描述》
《數據結構與演算法:Python語言描述》
《劍指offer》
《編程珠璣》
《編程之美》
《演算法導論》
《演算法》
《計算機程序設計藝術》
《演算法帝國》
《數學之美》
《演算法之美》
大話數據結構
將理論講的很有趣,不枯燥。作者結合生活中的例子去對每個數據結構和演算法進行講解,讓人通俗易懂。
演算法圖解
這是一本像小說一樣有趣的演算法入門書,書中有大量的圖解,通俗易懂。
看完上面一本或兩本入門級的書,你就會對數據結構和演算法有個大概認識和學習。但這些入門級的書缺少細節、不夠系統。所以想要深入的學習數據結構和演算法,光看這兩本書肯定是不夠的。
2. 不同語言的教科書
國內外很多大學都是將《數據結構和演算法分析》作為教科書。這本書非常系統、嚴謹、全面,難度適中,很適合對數據結構和演算法有些了解,並且已經掌握了至少一門語言的同學學習。針對不同的語言,分別有:
如果你不會C、C++、java,會Python或者JavaScript,可以看:
3. 面試書籍
現在很多大廠的面試都會考演算法題,這里推薦幾本面試演算法書籍:
劍指offer
為面試演算法量身定做的一本書。幾乎包含了所有常見的、經典的面試題,如果能搞懂書裡面的內容,一般公司的演算法面試都應該沒問題。
編程珠璣
這本書豆瓣評分有9分,評分很高。這本書最大的特色是講了很多海量數據的處理技巧。其他演算法書籍很少涉及海量數據。
編程之美
有些作者是微軟工程師,演算法題目較難,比較適合要面試Google、Facebook這樣的公司的人去看。
4. 經典書籍
現在數據結構與演算法最經典的書籍就是:
這三本書非常經典,但都很厚,看起來比較費勁,估計很少有人能全部看完。但如果想更深入地學一遍數據結構和演算法,還是建議去看看。
演算法導論
章節安排不是循序漸進,裡面有各種演算法正確性、復雜度的證明、推導,對數學功底有一定要求,看起來有些費勁。
演算法
偏重講演算法。內容不夠全面,對數據結構方面的知識講的不多,動態規劃這么重要的知識點卻沒有講。
計算機程序設計藝術
這本書包括很多卷,相比於其他書籍有更好的深度、廣度、系統性和全面性。但如果你對數據結構和演算法不是特別感興趣,沒有很好的數學、演算法、計算機基礎,很難把這本書讀完、讀懂。
5. 課外閱讀
有些演算法書籍也比較適合在平時悠閑的時候翻翻看看:
這些書都列舉了大量的列子來解釋說明,非常通俗易懂。
F. 學習演算法,哪本書比較好
978-7-121-04278-2 計算機演算法設計與分析 王曉東 電子工業出版社 第3版
G. 有哪些學習演算法的入門書籍
原理 入門:《編碼:隱匿在計算機軟硬體背後的語言》
這是一本講述計算機工作原理的書。
不過,你千萬不要因為「工作原理」之類的字眼就武斷地認為,它是晦澀而難懂的。作者用豐富的想像和清晰的筆墨將看似繁雜的理論闡述得通俗易懂,你絲毫不會感到枯燥和生硬。 更重要的是,你會因此而獲得對計算機工作原理較深刻的理解。這種理解不是抽象層面上的,而是具有一定深度的,這種深度甚至不遜於「電氣工程師」和「程序員」的理解。
不管你是計算機高手,還是對這個神奇的機器充滿敬畏之心的菜鳥,都不妨翻閱一下《編碼:隱匿在計算機軟硬體背後的語言》,讀一讀大師的經典作品,必然會有收獲。
實戰 晉升:《編程珠璣》
正如自然界里珍珠出自細沙對牡蠣的磨礪,計算機科學大師 Jon Bentley 以其獨有的洞察力和創造力,從磨礪程序員的實際問題中凝結出一篇篇不朽的編程「珠璣」,成為世界計算機界名刊《ACM通訊》歷史上最受歡迎的專欄,最終結集為兩部不朽的計算機科學經典名著,影響和激勵著一代又一代程序員和計算機科學工作者。
本書為第一卷,主要討論計算機科學中最本質的問題:如何正確選擇和高效地實現演算法。
永恆的經典:《代碼大全》
Steve McConnell 的原作《代碼大全》(第1版)是公認的關於編程的最佳實踐指南之一, 在過去的十多年間,本書一直在幫助開發人員編寫更好的軟體。
現在,作者將這本經典著作全新演繹,融入了最前沿的實踐技術,加入了上百個嶄新的代碼示例, 充分展示了軟體構建的藝術性和科學性。 McConnell匯集了來自研究機構、學術界以及業界日常實踐的主要知識, 把最高效的技術和最重要的原理交織融會為這本既清晰又實用的指南。
無論您的經驗水平如何,也不管您在怎樣的開發環境中工作,也無論項目是大是小, 本書都將激發您的思維並幫助您構建高品質的代碼。
H. 關於計算機的書籍有哪些好看的
計算機科學是一個龐大的學科體系,在學習的過程中要對這個體系的知識都有一定的了解,好看以及推薦一些書籍清單。數學,演算法和數據結構作為計算機科學的底層學科對於深入了解計算機運作模式等是必不可少的,深入理解計算機系統(CSAPP),名稱上來看這本書講的是對系統的深入挖掘,然而本書非常適合作為一個入門讀物,在了解計算機前開始閱讀,可以對計算機相關概念有一個簡要的了解。計算機程序的構造和解釋(SICP),本書講的是從數據抽象、過程抽象、迭代、高階函數等編程和控制系統復雜性的思想,到數據結構和演算法,到編譯器/解釋器、編程語言設計。演算法導論,MIT 的經典演算法教材,雖然可能其中的偽代碼表示法不適合所有的人輕松閱讀,但是對於演算法描述的地位依然非常靠前。具體數學》,本書介紹了計算機的數學基礎,內容涉及求和、取整函數、數論、二項式系數、特殊數、母函數(發生函數)、離散概率、漸近等,面向從事計算機科學、計算數學、計算技術諸方面。
I. 計算機相關專業想學習演算法,需要看哪些書
《演算法與數據結構》,《計算機組成原理,匯編語言》,《數字邏輯》,《編譯原理》,《計算機網路》,《面向對象的程序設計等》。
J. 我想學計算機演算法,推薦一本書
演算法(推薦兩本):
《The Art of Computer Programming》, Donald.E.Knuth
即《計算機程序設計藝術》(第三版),中文版 國防大學出版社;
《Introction.to.Algorithms》
即《演算法導論(原書第2版)》, 中文版 機械工業出版社;
這兩門是演算法中《聖經》級的書,非常棒!