大學四年,分享看過的優質書籍

在這裏插入圖片描述

數據結構與算法是我在大學裏第一次接觸到的,當時學了很多其他安卓、網頁之類的,一開始就感覺納悶,數據結構和算法學這個有啥用,再加上上的是一所野雞大學,老師講的也是模模糊糊,平時做項目、練習也幾乎不用數據結構,所以考試應付應付就過了,也沒太在意。

到了大三的時候,面臨考研和就業了,突然看到學長考研的數據結構題和麪試網站的要求,突然意識到數據結構和算法的重要性,真的很重要,重要的話說三遍,真的很重要,真的很重要。直到暑假出去面試,領略到了算法被面試官虐的感覺。

明人不說暗話,雖然我的專業方向是野路子出身的前端工程師,但是我對算法可謂是比前端都重視。

總結出一個結論,無論你是爲了考研還是就業,越是提前學習越是優勢,這是一個來自大四狗的深刻教訓呀。爲了能夠顧忌到初學者入門、考研看哪些書籍以及面試前的準備,刷題等等吧,利用空餘的時間,好好把書單整理了一遍,由淺入深,每本書的介紹以及內容涉及到了哪些,我大體都進行概括一下。

而且不同的人以及不同基礎的人以及不同語言看同樣的書籍難度都是不一樣的,這需要根據自己的基礎以及不同編程語言來記性選擇,廢話不多少,從入門書籍開始推薦。


一、入門類

要想學好數據結構和算法,首先我們要對它產生興趣,就像是對你女朋友一樣,產生興趣,產生濃厚的興趣,直接去看那種稍微難的數據結構書,會更加降低你的自信息,所以要選擇一本產生興趣的書籍,gongzhonghao:小鹿動畫學編程,回覆“電子書”,即可獲取。


書籍一:《大話數據結構》

通篇以一種趣味方式來敘述,大量引用了各種各樣的生活知識來類比,並充分運用圖形語言來體現抽象內容,對數據結構所涉及到的一些經典算法做到逐行分析、多算法比較。這本書非常適合你完全不懂數據結構的小夥伴看。本書大約 400 多頁,看起來挺多,但是不到一個星期就可以看完,看完之後,讓你對數據結構有個大體的認識。


書籍二:《算法圖解》

其實這本書和《大話數據結構》的趣味性都是差不多的,書中的“圖解”爲了讓初學者更好的去了解認識數據結構,通俗易懂。本書大約 200 多頁,內容上是相對上一本比較少的,畢竟是入門書籍嘛,重點是讓你產生興趣和讀懂。

缺點:

這本書不夠系統,很多細節沒有講到,所以想要進一步系統的學習數據結構和算法,這兩本書還不夠,需要看一些寫的比較全面、深入的數據。

書籍三:《啊哈!算法》

這不過是一本有趣的算法書而已。和別的算法書比較,如果硬要說它有什麼特點的話,那就是你能看懂它。這是一本充滿智慧和趣味的算法入門書。沒有枯燥的描述,沒有難懂的公式,一切以實際應用爲出發點,通過幽默的語言配以可愛的插圖來講解算法。這本更基礎,還是適合完全沒有入門的同學。


二、編程語言類

之前在公衆號,很多小夥伴和我說,買書有些和自己學的語言不一樣怎麼辦?所以很多小夥伴關心特定語言的數據,我記得大學的時候,老師上課講的書籍就是 C 語言版本的,我想肯定有其他版本,我就去網上找了找,臥槽,確實有其他版本,然後就整了下,網上購買對應的書籍就可以了,如果你資金緊張,小鹿也爲你考慮到了,大學生沒有經濟來源,小鹿公衆號準備了電子書PDF版本,文章最後有獲取方式的。


書籍四:《數據結構與算法分析 :xxx 描述》

有的同學考研考 C 或 C++,那麼對應購買《數據結構與算法分析 :C 語言描述》和 《數據結構與算法分析:C++ 描述》。如果你是想就業刷題,也許是前端的 JavaScript,後端的 Java、Python方向的,選擇你對應方向書籍即可。

1、《數據結構與算法分析 :C 語言描述》

2、《數據結構與算法分析:C++ 描述》

3、《數據結構與算法分析:Java 語言描述》

4、《數據結構與算法 JavaScript 描述》

5、《數據結構與算法:Python 語言描述》


三、面試必刷類

算法對於面試來說太重要了,但是有一點要知道,學習算法和數據結構不單單爲了應付面試,而是爲了能夠進一步提高自己的編程思想,能夠有駕馭技術的能力,這是算法的精華之處所在。這一點我想我不能誤解大家,不能單從一個方面說爲了面試而面試。


書籍五:《劍指offer》

要想通過面試,必須以高標準的姿勢去研究題型和總結面試官到底考你哪些東西。《劍指Offer:名企面試官精講典型編程題》剖析了50個典型的程序員面試題,從基礎知識、代碼質量、解題思路、優化效率和綜合能力五個方面系統整理了影響面試的5個要點。

作者是微軟的工程師,這本書,應付一般公司面試足以拿到offer。但是本書是用 C++ 語言寫的,此書本人刷過兩遍了,自己用 JS 把所有題型的解題思路、測試用例、代碼、以及同一類型題的總結都進行整理了,放到了開源的 Github 上,供大家學習,後期會刷三遍,第三遍打算每一個面試題都用動畫形式呈現給讀者,這樣同樣兼顧到了初學者.。

【Github倉庫地址】:地址戳這裏~~

書籍六:《編程珠璣》

此書在豆瓣的評價非常高的,書的內容圍繞程序設計人員面對的一系列實際問題展開,引導讀者理解這些問題並學會解決方法,而這些正是程序員實際編程生涯中至關重要的。

這本書的特點就是有關海量數據的處理涉及到很多,這是其他算法書籍不能比的,記得有個朋友學後臺的去面試,面試官從 10 萬數據的處理到 10 億數據的處理,把它問懵逼了,所以對於海量數據面試中也是會經常問到的,尤其是大廠校招的時候。


書籍七:《編程之美》

這本書都是微軟的大佬們出的面試合集,這本書收集了約 60 道算法和程序設計題目,這些題目大部分在近年的筆試、面試中出現過,或者是被微軟員工熱烈討論過。如果想要面試 Google、Facebook 這本書是首選。

書的內容分爲以下幾個部分:

  • 遊戲之樂:從遊戲和其他有趣問題出發,化繁爲簡,分析總結。
  • 數字之魅:編程的過程實際上就是和數字及字符打交道的過程。這一部分收集了一些好玩的對數字進行處理的題目。
  • 結構之法:彙集了常見的對字符串、鏈表、隊列,以及樹等進行操作的題目。
  • 數學之趣:列舉了一些不需要寫具體程序的數學問題,鍛鍊讀者的抽象思維能力。

四、 經典類

如果你去知乎等其他論壇網站去搜學習算法看什麼書好,時不時的就給說《算法導論》和《算法》就來讓你看,那麼厚厚的一本書,初學者能看下去纔怪呢,只會打擊初學者的信心。這兩本書籍確實是經典書籍,但是讀起來苦澀、無味,如果你想進一步提高自己數據結構與算法能力的時候,那小鹿還是建議你去看的。


書籍八:《算法導論》

這本書深入淺出,全面地介紹了計算機算法。對每一個算法的分析既易於理解又十分有趣,並保持了數學嚴謹性。如果別人讓你作爲入門書,那你就被坑了,哈哈!

缺點:本書寫作的邏輯感覺不是那麼循環漸進,裏邊的內容涉及到算法在計算中的作用,概率分析和隨機算法的介紹。書中專門討論了線性規劃,介紹了動態規劃的兩個應用,隨機化和線性規劃技術的近似算法等,這些東西確實學起來很吃力的。


書籍九:《算法》

《算法》這本書就比《算法導論》友好多了,它的內容學起來不是那麼吃力,面介紹了關於算法和數據結構的必備知識,並特別針對排序、搜索、圖處理和字符串處理進行了論述。第4版具體給出了每位程序員應知應會的50個算法,提供了實際代碼,而且這些Java代碼實現採用了模塊化的編程風格

缺點:

內容不夠全面,尤其是對數據結構與算法中的動態規劃問題,這麼重要的知識點都沒有講到,而且書籍主要注重講算法。但是對於初學者是非常友好的。


五、地獄類

之所以我把這一類書籍稱作爲地獄類,它們的數據結構和算法都是分卷的,我們此時可以想到《西遊記》最後取經完成獲得的經卷,無論是在深度、廣度、系統性、全面,都可以稱上邊那些書籍的“祖宗”級別的,也許這些書籍名字,在其他算法書中提到過。


書籍十:《計算機程序設計藝術》

這一本 No.1,我說它是數據結構與算法最牛批的書,沒人敢反駁吧?要想完全戰勝這本書,要求你的數據功底、算法功底、計算機基礎功底要特別紮實,這本書是最有挑戰難度的,如果你不服,可以看看第一卷,看完再來反駁,哈哈哈!


六、課外讀物類

最後,小鹿再推薦基本適合課外閱讀的算法書籍,如果你寫代碼寫累了,可以泡杯咖啡,躺在陽臺的躺椅上,曬着太陽,面對陽光,打開這一本書籍,不急不躁的享受着,多好,生活嘛,就是這樣的。

《算法帝國》《數學之美》《算法之美》這三本書之所以作爲課餘閱讀是因爲書中的大量的舉例,通俗易懂,不像是上邊幾本書籍一樣深入思考。非計算機專業的人羣都可以看懂,所以稱爲課餘讀物。


書籍十一:《算法帝國》

本書是《紐約時報》暢銷書作者的又一力作,通過一個又一個引人入勝的故事,向讀者介紹了算法掌控世界的真實情況,揭示了“機器人革命”是如何悄悄地在我們身邊發生的。本書適合任何對科技史、信息革命、算法原理、數據分析感興趣的讀者。


書籍十二:《數學之美》

作者吳軍博士幾乎把所有文章都重寫了一遍,爲的是把高深的數學原理講得更加通俗易懂,讓非專業讀者也能領略數學的魅力。讀者通過具體的例子學到的是思考問題的方式 —— 如何化繁爲簡,如何用數學去解決工程問題,如何跳出固有思維不斷去思考創新。


書籍十三:《算法之美》

這本書告訴我們如何更有效地利用直覺、什麼時候應該把選擇權交給命運、無所適從的時候應該如何做出選擇,以及如何有效地與他人保持聯繫。從找配偶到找停車位,從組織管理個人郵箱的收件箱到理解人類記憶的作用原理,這本書把計算機科學的智慧轉化爲人類生活的策略,引導我們做出明智的選擇。


小結

數據結構和算法書籍我個人接觸過的只有那麼多了,這些書籍足以滿足百分之 90 % 以上的人羣啦。每個人的基礎、學習能力都不一樣,看了這些書籍掌握程度取決於你的努力程度,有些數據我來回看好幾遍,每一遍都會給我新的收穫,這就是閱讀、學習的力量。


❤️ 不要忘記三連哦!點贊、收藏、評論。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章