怎麼學習資料結構和演算法?

2021-10-05 15:21:18 字數 710 閱讀 4021

1、資料結構是指一組資料的儲存結構

2、演算法就是運算元據的方法

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

資料結構和演算法解決的是如何更省、更快地儲存和處理資料的問題,因此,我們就需要乙個考量效率和資源消耗的方法,這就是複雜度分析方法。在學習資料結構和演算法的過程中,要學習它的「來歷」、「自身的特點」、「適合解決的問題」以及「實際的應用場景」。

1、10 個資料結構:陣列、鍊錶、棧、佇列、雜湊表、二叉樹、堆、跳表、圖、trie 樹;

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

1、邊學邊練,適度刷題

可以「適度」刷題,但一定不要浪費太多時間。我們學習的目的還是掌握,然 後應用。

2、多問、多思考、多互動

學習最好的方法是,找到幾個人一起學習,一塊兒切磋,有問題及時尋求老師答疑。

3、打怪公升級學習法

學習的過程中,我們碰到最大的問題就是,堅持不下來。我們在枯燥的學習過程中,可以給自己設立乙個切實可行的目標

4、知識需要沉澱,不要想試圖一下子掌握所有

學習知識的過程是反覆迭代、不斷沉澱的過程。

如何學習資料結構和演算法

首先掌握常用的 基礎的。然後在此基礎上往進行擴充套件學習。常用的 基礎的資料結構和演算法有20個。資料結構 陣列 鍊錶 棧 佇列 雜湊表 二叉樹 堆 跳表 圖 trie樹 演算法 遞迴 排序 二分查詢 搜尋 雜湊演算法 貪心演算法 分治演算法 回溯演算法 動態規劃 字串匹配演算法。這些需要一一攻克。...

資料結構和演算法

判斷乙個演算法的效率時,函式中的常數和其它次要項常常可以忽略,而更應該關注主項 最高項 的階數。演算法時間複雜度的定義 在進行演算法分析時,語句中的執行次數t n 是關於問題規模n的函式,進而分析t n 隨n的變化情況並確定t n 的數量級。演算法的時間複雜度,也就是演算法的時間量度,記作 t n ...

資料結構和演算法

程式是什麼?好多書上都寫著 程式 資料結構 演算法。可是怎麼去理解呢?好多程式設計人員對資料結構和演算法說不上熟悉,因為在他們所從事的工作中很少用到這些知識點。但並不表示他們不重要。還有一些人是這樣的想法 大公司才會注重這些知識點,小公司可能就不注重了。寫這篇文章之前我也是持這種想法的。但是,此時此...