- 正在學習的算法課程:極客時間的王爭老師的《數據結構與算法之美》
- 傳送門: https://time.geekbang.org/column/126
- 目前學到第三講,很良心,共56講,推薦想學數據結構的同學
- 2019年互聯網算法崗面試普遍難,更何況我這種半路出家,和計科搶飯喫,數據結構是必須要會的,發現一個良心教程,絕對不是什麼筆試自閉啊等原因
1. 通篇導論
2019/09/20
一、數據結構和算法是什麼
- 數據結構是指一組數據的存儲結構
- 算法就是操作數據的方法
- 數據結構和算法是相輔相成的,數據結構是爲算法服務的,而算法要作用在特定的數據結構之上
二、學習的重點在什麼地方
數據結構和算法解決的是如何更省、更快地存儲和處理數據的問題,因此,我們就需要一個考量效率和資源消耗的方法,這就是複雜度分析方法。在學習數據結構和算法的過程中,要學習它的「來歷」、「自身的特點」、「適合解決的問題」以及「實際的應用場景」。
- 數據結構和算法學習的精髓-複雜度分析
- 最常用的、最基礎的10個數據結構:數組、鏈表、棧、隊列、散列表、二叉樹、堆、跳錶、圖、Trie 樹
- 最常用的10個算法:遞歸、排序、二分查找、搜索、哈希算法、貪心算法、分治算法、回溯算法、動態規劃、字符串匹配算法
三、快速轉化爲本能
- 邊學邊練,適度刷題
建議每週花 1~2 個小時的時間,集中把這周的三節內容涉及的數據結構和算法,全都自己寫出來,用代碼實現一遍。
對於刷題需求:可以“適度”刷題,但一定不要浪費太多時間在刷題上。我們學習的目的還是掌握,然後應用。 - 多問、多思考、多互動
- 打怪升級學習法
給自己一個正向反饋,堅持到最後 - 知識需要沉澱,不要想試圖一下子掌握所有
沒有速成!沒有速成!沒有速成!速成的課程都是騙人的!看不懂反覆看,上網看解析,你是最棒的
此網站可以將指定算法可視化:www.cs.usfca.edu/~galles/visualization/Algorithms.html