天天看點

《資料結構和算法基礎(Java語言實作)》學習筆記

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

為啥要寫這本書

12月6日拿到了樣書,迫不及待的對新書做了浏覽。同時也做了拆書與導讀,可以在B站找到:

https://www.bilibili.com/video/BV1fY411s7Kr/
《資料結構和算法基礎(Java語言實作)》學習筆記

聊下為啥要寫這本書。

其實,這本是我所編寫過的書目(

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安裝,到複雜的資料結構的示範,都有豐富的圖例。那麼在講這種資料結構或者算法理論的時候,通過圖例的配套講解示範,可以友善讀者了解。

《資料結構和算法基礎(Java語言實作)》學習筆記

3、代碼量非常大

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

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

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

參考引用

下一篇: GridLayout布局