演算法大同小異,只是演算法案例分Java寫跟C語言寫而已。初級為了看懂可以看:演算法設計與分析(第三版)這本高校教材。這本是Java寫的,把上面每個演算法研究清楚,
後期為了拓展可以看Java數據結構與演算法分析等。淘寶直接搜索就可以知道書的具體信息
到了比較大神級的可以拓展看演算法導論、編程之美這些大牛書籍。
② Java 後端有什麼書籍推薦嘛
1. 操作系統與網路的書
《Linux內核設計與實現 第3版》
Robert Love用最薄的篇幅,順暢的文字將Linux內核主要的演算法講清楚了,《深入理解Linux內核》,《深入Linux內核架構》之類厚厚的全是代碼,不是專門的內核程序員看這本足夠了。
《Linux系統編程 第2版》
繼續是Robert Love,比起APUE也是以薄見長,專門針對重要的系統調用講解。
《性能之巔》
操作系統的性能調優、監控、工具和方法論,看這本就夠了,已經足夠厚,可能是書單里最厚的一本。
《TCP/IP詳解 卷1:協議》
這么多年過去了,TCP的書好像主要還是只有這一本,有點舊了,看了也還是半懂不懂的。後人在2011年寫了第二版,機械工業正在翻譯。
《WireShark網路分析就這么簡單》和 《WireShark網路分析的藝術》 new!
多少人,是看了這兩本輕松又實戰的書,才真正理解TCP的細節。
PS:《UNIX環境高級編程》和《UNIX網路編程》,APUE和UNP更多作為一本超厚工具書存在。《Unix 編程藝術》,扯的都是閑篇,厚厚的一本其實略讀一下就行。 《現代操作系統 第3版》如果看LKD未盡興,可以回頭看看這本基礎概念,感覺比那本枯燥的《操作系統概念》(恐龍書)讀起來舒服。
《TCP/IP指南》 前面wireshark書作者的推薦,網上有英文免費版,然後有中文版的卷1和卷2,但可能那麼多章節那麼厚你只關心TCP和HTTP兩部分。《HTTP權威指南》,同樣是自己從厚厚的目錄里挑選感興趣的章節來看。另外,那些日本韓國人寫的《圖解XXX》感覺都不喜歡,真的不行。
2. 演算法的書
《數據結構與演算法分析-Java語言描述 第3版》
夠薄,數據結構與演算法分析的點基本都涵蓋了,而且喜歡它的示例代碼是Java寫的,新出了第3版。
《演算法 第4版》
可與上一本對比著讀,厚一些,也多些圖,但知識點沒上面的全,也是Java的。
PS: 《數學之美》、《編程珠璣》,都是專欄文章,講得並不系統,可以當興趣讀物來看。
《演算法設計與分析基礎 第3版》數學系偏愛無比枯燥很多公式的《演算法導論》, 計算機系喜歡這本實用主義的典型。
3. 架構設計的書
《軟體系統架構:使用視點和視角與利益相關者合作 第2版》
也是教科書,最難得的是,這本老書在十年後的去年升級了第二版,所以感覺鮮活了好多,也許是最鮮活的一本架構書。
《恰如其分的軟體架構 – 風險驅動的設計方法》
由於人類與生俱來的惰性,計算機原本科學的、精準的設計方式,有了敏捷的借口之後就很難再維持了。本書就是在這種背景下,提出由風險來決定設計的度。除了開始的風險驅動部分,其餘部分就是規規矩矩標標准準的架構師教科書。
《發布!軟體的設計與部署 – Release It!: Design and Deploy Proction-Ready Software 》
關於高可靠性的軟體,學校里不會教,出來社會卻要面對的那部分,英文的原標題更清晰。
《大型網站技術架構:核心原理與案例分析》
淘寶出品,大型互聯網站的科普入門書。
《高擴展性網站的50條原則》 new!
同是入門級讀物,如果還有個高可用50條原則,那就齊了。
《微服務設計》 new!
那麼多微服務的書,還是這本比較不像賺快錢的。
《大數據日知錄》
前幾年參加各種技術會議,CAP,最終一致性,RWN,向量時鍾,Paxos,一致性哈希,Gossip什麼的能灌你一耳朵。而現在,你只要在家安安靜靜的看書就夠了。不過這個領域發展太快,又一年過去了,期望它可以持續出新版。
③ 數據結構導論演算法總結數組
一維數組又稱向量,是由一組相同類型的數據元素組成,並存儲在一組連續的存儲單元中。
存儲結構 以列為主序,以行為主序。c語言採用是以行為主序的存儲方法。
矩陣壓縮存儲 這類矩陣採用多值相同的元素只分配一個存儲空間,零元素不存儲的策略交矩陣壓縮存儲。
特殊矩陣 對陣矩陣和三角矩陣
設矩陣a[i][j]在數組M中的位置為k,(i,j)和k的關系:
(i>=j) k=(i+1)i/2+j (i<j) k="(j+1)j/2+i
三角矩陣
上三角矩陣中 第i行除常數外有n-i個元素,第0行有n個元素,而a[i][j]之前已經有i行,前i行的元素總數(2n-i+1)i/2.
在第i行上 a[i][j] 是該行j-i+1個元素 M[k] 和a[i][j]對應關系
(ij) k=n(n+1)/2
下三角矩陣跟對稱矩陣類似
(i>=j) k = i(i+1)/2+j (i<j) k="n(n+1)/2
稀疏矩陣
設M行N列的矩陣有個非零元素,當t<<m*n時則稱為稀疏矩陣,常用三元組表示法。 p=""> </m*n時則稱為稀疏矩陣,常用三元組表示法。>
這節的三角矩陣自今我看沒有看到過相應的考題。
④ java數據結構書籍推薦
1. 入門級
針對剛入門的同學,建議不要急著去看那些經典書,像《演算法導論》、《演算法》這些比較經典、權威的書。雖然書很好,但看起來很費勁,如果看不完,效果會很不好。所以建議先看兩本入門級的趣味書:
《大話數據結構》
《演算法圖解》
大話數據結構
將理論講的很有趣,不枯燥。作者結合生活中的例子去對每個數據結構和演算法進行講解,讓人通俗易懂。
演算法圖解
這是一本像小說一樣有趣的演算法入門書,書中有大量的圖解,通俗易懂。
看完上面一本或兩本入門級的書,你就會對數據結構和演算法有個大概認識和學習。但這些入門級的書缺少細節、不夠系統。所以想要深入的學習數據結構和演算法,光看這兩本書肯定是不夠的。
2. 不同語言的教科書
國內外很多大學都是將《數據結構和演算法分析》作為教科書。這本書非常系統、嚴謹、全面,難度適中,很適合對數據結構和演算法有些了解,並且已經掌握了至少一門語言的同學學習。針對不同的語言,分別有:
《數據結構與演算法分析:C語言描述》
《數據結構與演算法分析:C++描述》
《數據結構與演算法分析:java語言描述》
如果你不會C、C++、java,會Python或者JavaScript,可以看:
《數據結構與演算法JavaScript描述》
《數據結構與演算法:Python語言描述》
3. 面試書籍
現在很多大廠的面試都會考演算法題,這里推薦幾本面試演算法書籍:
《劍指offer》
《編程珠璣》
《編程之美》
劍指offer
為面試演算法量身定做的一本書。幾乎包含了所有常見的、經典的面試題,如果能搞懂書裡面的內容,一般公司的演算法面試都應該沒問題。
編程珠璣
這本書豆瓣評分有9分,評分很高。這本書最大的特色是講了很多海量數據的處理技巧。其他演算法書籍很少涉及海量數據。
編程之美
有些作者是微軟工程師,演算法題目較難,比較適合要面試Google、Facebook這樣的公司的人去看。
4. 經典書籍
現在數據結構與演算法最經典的書籍就是:
《演算法導論》
《演算法》
《計算機程序設計藝術》
這三本書非常經典,但都很厚,看起來比較費勁,估計很少有人能全部看完。但如果想更深入地學一遍數據結構和演算法,還是建議去看看。
演算法導論
章節安排不是循序漸進,裡面有各種演算法正確性、復雜度的證明、推導,對數學功底有一定要求,看起來有些費勁。
演算法
偏重講演算法。內容不夠全面,對數據結構方面的知識講的不多,動態規劃這么重要的知識點卻沒有講。
計算機程序設計藝術
這本書包括很多卷,相比於其他書籍有更好的深度、廣度、系統性和全面性。但如果你對數據結構和演算法不是特別感興趣,沒有很好的數學、演算法、計算機基礎,很難把這本書讀完、讀懂。
5. 課外閱讀
有些演算法書籍也比較適合在平時悠閑的時候翻翻看看:
《演算法帝國》
《數學之美》
《演算法之美》
這些書都列舉了大量的列子來解釋說明,非常通俗易懂。
⑤ 學習java需要學哪些 看什麼書
學習java需要學習的技術知識還是比較多的,包括:java基礎語法、面向對象、javase、資料庫技術、web前端、java開發框架、企業項目實戰等。想要學好這些技術,就需要我們不斷的努力才能夠完全掌握。至於看不看書這個可以根據大家自己的需求去了解該看一些什麼樣類型的書籍。
現在市面上的java學習資料很多,如果是想要快速完成學習找工作的可以去網路上找一些相關的視頻資料進行學習,或者是去報名java培訓班進行學習,看視頻學習或者是老師帶領學習的話更容易理解,這樣學習的效率相對看書來說是比較快一些。
java入門學習的話、大家可以看看下邊的這些書。
《Java核心技術(第10版)》
提起Java入門必讀,四大名著是少不了的。《Java 核心技術》就是其中之一,分卷一、卷二兩冊,卷一講基礎,卷二為進階。全書對於Java語言的核心概念、語法、重要特性和開發方法講解得非常細致,可以說是一部有關Java的網路全書。
⑥ 請推薦一本基於JAVA語言的數據結構和演算法的書,中文版的
英文名:《Data Structures & Algorithms in Java》
中文名:《Java數據結構和演算法》
作 者:Robert Lafore
出版社:中國電力出版社
閱讀方法:相對與其他的數據結構和演算法的書,這本書語言很簡潔而且容易讀,讓你少了一些閱讀演算法書籍的苦惱,但是也不能指望很輕松的把它讀完,畢竟,這也是描述演算法的書呀。
不過幸運的是,如果只是為了鍛煉工作技能,倒是不必把所有的演算法細節都弄的一清二楚,掌握到能夠選擇針對實際問題而進行數據結構和演算法的選擇,基本上就能應付90%以上的情況了。
我們的建議是:只要你學的是JAVA,這本書就應該從頭到尾的啃一遍,而且是細細的啃,不是象前一本《Java編程思想》那樣的略讀,不過,讀這本書沒什麼時間限制,盡量讀就行了,哪怕你已經工作了,再花業余的時間讀下來也不遲。
另外,象演算法這種東西,你弄明白一次,一輩子就明白了,不會再變了,所以,哪怕用一周、一個月的時間啃下來一個程序,也是值得的。
如果你著急工作,這本書可以略讀,掌握住常用的數據結構和演算法的特點(不是實現),就可以了。
如果你還在上學,有大量的時間,或者你想在大型公司(IBM、MicroSoft、Sun等)的筆試中有良好的表現,你就需要一個字一個字的仔細閱讀了。
⑦ java數據結構與演算法分析
於之前面試android的時候考到了很多關於java的知識,所以這次重溫數據結構知識就打算用java來學習,畢竟android是以java為基礎的,而且我現在學習的j2ee架構也是以java為基礎的。
java中的類就是對現實世界的對象的一種抽象,例如人就是一個類別,人有名字,聯系電話,住址等成員屬性,人擁有說話,吃飯,走路等成員方法。類就是這樣,定義了一種對象,它有什麼,會做什麼。
繼承——子類就是父類的一種特定類別。例如學生就是人的子類,學生屬於人,是特定的一類人。所以我們讓學生繼承人,這樣學生可以擁有人的屬性和方法,也就是說,學生也有了名字,聯系電話,住址等成員屬性,擁有說話,吃飯,走路等成員方法。但是學生還有特定的一些方法(讀書,上課),或者特定的一些屬性(學號,年級),這些可以添加在子類中。
因為每個子類都屬於父類,例如每個學生都屬於人,所以可以用父類來引用子類的對象:People p = new Student();反過來不行。
java中一個類只能繼承一個父類,也就是單繼承。
但一個類可以實現多個介面,間接地實現了多繼承。介面就是一系列方法的聲明,沒有實現。於之前面試android的時候考到了很多關於java的知識,所以這次重溫數據結構知識就打算用java來學習,畢竟android是以java為基礎的,而且我現在學習的j2ee架構也是以java為基礎的。
java中的類就是對現實世界的對象的一種抽象,例如人就是一個類別,人有名字,聯系電話,住址等成員屬性,人擁有說話,吃飯,走路等成員方法。類就是這樣,定義了一種對象,它有什麼,會做什麼。
繼承——子類就是父類的一種特定類別。例如學生就是人的子類,學生屬於人,是特定的一類人。所以我們讓學生繼承人,這樣學生可以擁有人的屬性和方法,也就是說,學生也有了名字,聯系電話,住址等成員屬性,擁有說話,吃飯,走路等成員方法。但是學生還有特定的一些方法(讀書,上課),或者特定的一些屬性(學號,年級),這些可以添加在子類中。
因為每個子類都屬於父類,例如每個學生都屬於人,所以可以用父類來引用子類的對象:People p = new Student();反過來不行。
java中一個類只能繼承一個父類,也就是單繼承。
但一個類可以實現多個介面,間接地實現了多繼承。介面就是一系列方
⑧ 我想學數據結構,java語言的,看什麼書比較好
有很多,數據結構和抽象問題求解--Java語言描述》這本個人覺得還可以,裡面會一步步教授如何設計一些容器、集合的實現,而且經常舉一反三,我暫時將其劃分為中級階段的書
《大話數據結構》這是大話系列的第二本,總的來說比較淺顯易懂,可以對數據結構有輕松入門的了解,缺點是版本剛出來,有些錯誤還待勘正,可作為初級階段入門書籍。
《數據結構與演算法分析--Java語言描述》這個就比較經典了,裡面比較偏重介紹引導設計的思想也有代碼實現,個人認為是初進中階段的讀物。
《演算法導論》這本就不用多介紹了,法的偏理論書籍,想來應該可以算是一本高級進階的書了。
言而總之,等到代碼累積量到一定程度的時候,自然而然就會去想加強數據結構和演算法相關知識了。讀書這種東西,一千個讀者有一千個哈姆雷特,只希望這里能提供一個參考給樓主。
⑨ 《數據結構與演算法分析》和《演算法導論》這兩本書哪個好
《數據結構與演算法分析》 C++ 版 ,《演算法導論》
頁數: 435 , 754
適合: 基礎薄弱的, 基礎較好的
沒學過高等數學,高中數學總學過吧,那就沒問題。
兩本書都很好,可以同時看,然後再琢磨琢磨哪本更適合自己 。
希望對你有所幫助。