1. 程式人生 > >資料結構與演算法之美 課程筆記一 如何抓住重點,系統高效地學習資料結構與演算法?

資料結構與演算法之美 課程筆記一 如何抓住重點,系統高效地學習資料結構與演算法?

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

從廣義上講,資料結構就是指一組資料的儲存結構。演算法就是操作資料的一種方法。

從狹義上講,是指某些著名的資料結構和演算法,比如佇列、棧、堆、二分查詢、動態規劃等。

那資料結構和演算法有什麼關係呢?

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

學習的重點是什麼?

首先要掌握一個數據結構與演算法中最重要的概念——複雜度分析。

接下來就是資料結構與演算法的正文內容了,下面圖中幾乎涵蓋了資料結構和演算法的所有知識點了。

20個最常用的、最基礎的資料結構與演算法:

10 個數據結構:陣列、連結串列、棧、佇列、散列表、二叉樹、堆、跳錶、圖、Trie樹;

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

學什麼:

學習他們的“來歷”、“自身的特點”、“適合解決的問題”以及“實際的應用場景”。

極客時間版權所有: https://time.geekbang.org/column/article/40011