《數據結構和算法基礎(Java語言實現)》學習筆記

《數據結構和算法基礎(Java語言實現)》一書由北京大學出版社出版,已經於近日上市。拿到了樣書,第一時間希望與讀者朋友們分享下這本書裏面的內容。

爲啥要寫這本書

12月6日拿到了樣書,迫不及待的對新書做了瀏覽。同時也做了拆書與導讀,可以在B站找到:https://www.bilibili.com/video/BV1fY411s7Kr/

聊下爲啥要寫這本書。

其實,這本是我所編寫過的書目(https://waylau.com/books/)裏面,算是最爲“低級”的課題了吧,畢竟誰不知道“數據結構和算法”呢?這個課題太基礎了。

但是“數據結構和算法”卻又是非常重要的課程。算法和數據結構是程序的靈魂,在計算機類培訓課程中屬於必開的課程。雖然實際工作中大多數人並不是專業的算法工程師,不以算法爲深,但不可否認算法在工作中的重要性,初級工程師與高級工程師的差距也許就在對於算法的理解上。理解算法,運用合理的數據結構,可以讓程序更加高效。

隨着雲計算、大數據、人工智能、虛擬現實等應用的興起,企業對於開發人員的算法技術要求也越來越高。不會算法或不精通算法,也許就會錯過很多就業良機。另外,在求職時,算法是面試的必考類型。

鑑於算法和數據結構在編程中的重要性,筆者迫不及待地希望將工作中常用的算法介紹給大家。因此,筆者陸續在個人開源網站https://github.com/waylau/java-data-structures-and-algorithms-inaction上發表了衆多關於算法的技術博客>。2020年年底,筆者將之前算法相關的個人博客整理成冊,遂有了本書。

三大特點

概況起來,這本《數據結構和算法基礎(Java語言實現)》主要有三大特點。B站也有相關介紹:https://www.bilibili.com/video/BV1Lg411P7LP/

1、涉及面非常廣

那麼涉及廣的話可以體現在哪裏呢?可以看這本書的內容簡介部分。

該書分爲以下幾部分:

  • 第一部分 預備知識(第1-2章):介紹數據結構和算法的基本概念,並演示如何搭建開發環境、編寫測試用例。
  • 第二部分 數據結構(第3-13章):介紹常見的數據結構,包括數組、鏈表、矩陣、棧、隊列、跳錶、散列、樹、圖等。
  • 第三部分 常用算法(第14-19章):介紹常用的算法,包括分而治之、動態規劃、貪心算法、回溯、遺傳算法、螞蟻算法等。
  • 第四部分 商業實戰(第20章):介紹漢諾塔遊戲的實現。

可以說,基本上你常見的一些是業務上還是技術常用的一些數據結構和算法,這本書都已經涉及了。更難能可貴的是,這本書也對當前非常火爆的諸如AI、機器學習等算法也做了講解。

2、圖例非常豐富

這本書是他這個圖例非常豐富,從基本的IDE安裝,到複雜的數據結構的演示,都有豐富的圖例。那麼在講這種數據結構或者算法理論的時候,通過圖例的配套講解演示,可以方便讀者理解。

3、代碼量非常大

第三個特點的話就是它裏面的實戰案例非常豐富。實戰案例體現在,這本書的每一章每個知識點基本上會配套一個實戰案例,代碼量是非常大的。每行代碼這個重點代碼它都有一些註釋給你寫得明明白白。

這本書呢是不單只是簡單的講一些理論,它還有會手把手的教你寫代碼。理論聯繫實際。

學習本書,一起手撕算法!

參考引用

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