《資料結構與演算法之美》學習筆記之開篇

騎摩托馬斯發表於2019-02-15

本系列是極客時間中前 Google 工程師王爭《資料結構與演算法之美》專欄的學習筆記,想加強資料結構及演算法能力的同學可以直接購買此專欄,跳轉連結在此

什麼是資料結構?什麼是演算法?

從廣義上講,資料結構就是指一組資料的儲存結構。演算法就是運算元據的一組方法。

資料結構和演算法是相輔相成的。資料結構是為演算法服務的,演算法要作用在特定的資料結構之上。

資料結構是靜態的,它只是組織資料的一種方式。如果不在它的基礎上操作、構建演算法、孤立存在的資料結構就是沒用的

資料結構和演算法知識點彙總

以下是王爭概括的資料結構和演算法知識點彙總

《資料結構與演算法之美》學習筆記之開篇

常用及基礎資料結構與演算法

資料結構

陣列、連結串列、棧、佇列、雜湊表、二叉樹、堆、跳錶、圖、Trie 樹

演算法

遞迴、排序、二分查詢、搜尋、雜湊演算法、貪心演算法、分治演算法、回溯演算法、動態規劃、字串匹配演算法

書單推薦

入門

  • 《大話資料結構》本書最大特點理論講的有趣不枯燥
  • 《演算法圖解》本書最大特點主打圖解,通俗易懂

面試

  • 《劍指 offer》本書幾乎包含了所有常見的、經典的面試題
  • 《程式設計珠璣》講了很多針對海量資料的處理技巧
  • 《程式設計之美》本書作者絕大多數為微軟的工程師,所以裡面演算法題目稍微偏難,面試 Google,Facebook 這樣的公司可以使用此書

針對特定程式語言的教科書

  • 《資料結構與演算法分析:C++ 描述》
  • 《資料結構與演算法分析:C 語言描述》
  • 《資料結構與演算法分析:Java 語言描述》

經典之做

  • 《演算法導論》裡面充斥這各種演算法的正確性、複雜度的證明、推導,數學公式比較大,看起來比較吃力
  • 《演算法》內容比較友好,更適合初學者入門。但是內容不夠全面,比較動態規劃這麼重要的知識點,本書並沒有講。

殿堂級經典

  • 《計算機程式設計藝術》這套書的深度、廣度、系統性、全面性是其他所有資料結構和演算法書籍都無法相比的。

《資料結構與演算法之美》學習筆記之開篇

程式碼

宣告

本文更多是本人學習筆記之用,更多詳細的講解級程式碼檢視極客時間專欄《資料結構與演算法之美》

相關文章