1. 程式人生 > >02 | 如何高效學習資料結構和演算法

02 | 如何高效學習資料結構和演算法

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

  • 廣義上來講,資料結構就是指一組資料的儲存結構.演算法就是操作資料的一組方法.(從圖書館的例子我們可以得出類似的結論)
  • 狹義來講就是接下來要講的
  • 資料結構和演算法是相輔相成的.資料結構是為演算法服務的,演算法要作用在特定的資料結構之上.
  • 資料結構是靜態的,孤立存在的資料結構是沒有用的.

2. 學習的重點在什麼地方

複雜度分析:
資料結構和演算法解決的是如何更快更省地儲存和處理資料的問題.複雜度分析就是衡量效率和資源消耗的方法.
在這裡插入圖片描述
十個資料結構:
陣列 , 連結串列 , 棧 ,佇列 ,散列表 ,二叉樹 ,堆 ,跳錶, 圖, Trie書
十個演算法:
遞迴, 排序, 二分查詢, 搜尋, 雜湊演算法, 貪心演算法, 分治演算法, 回溯演算法, 動態規劃, 字串匹配演算法
學習的過程之中,要明白他的來歷,自身的特點,適合解決的問題,實際的應用場景.

3.技巧

  1. 邊學邊練,適度刷題
  2. 多問多思考,多互動
  3. 每個專欄的學習給自己定一個目標,
    目前我的目標是每個專欄結束之後,四維導圖要出來,相對應的部落格上貼出來
  4. 學習需要沉澱,不要想著一口吃下一個胖子
    思維導圖