天天看點

資料結構與算法之美--開篇開篇詞 | 從今天起,跨過“資料結構與算法”這道坎01 | 為什麼要學習資料結構和算法?02 | 如何抓住重點,系統高效地學習資料結構與算法?

文章目錄

  • 開篇詞 | 從今天起,跨過“資料結構與算法”這道坎
  • 01 | 為什麼要學習資料結構和算法?
  • 02 | 如何抓住重點,系統高效地學習資料結構與算法?

開篇詞 | 從今天起,跨過“資料結構與算法”這道坎

《算法導論》

騰訊T4,長期負責手機QQ背景整體建設,用了不到半年時間,就把區塊鍊的整個技術脈絡摸清楚了。那些所謂的新技術,核心和本質的東西其實就是當初學的那些基礎知識。(基礎很重要,但是利用基礎去更進一步的經曆同樣重要,否則就很容易一直處于入門狀态了)

01 | 為什麼要學習資料結構和算法?

越是厲害的公司,越是注重考查資料結構與算法這類基礎知識。

基礎架構研發工程師,寫出達到開源水準的架構才是你的目标!

經常有人說,程式員35歲之後很容易陷入瓶頸,被行業淘汰。有的人寫代碼的時候,從來都不考慮非功能性的需求,隻是完成功能,湊合能用就好;做事情的時候,也從來沒有長遠規劃,隻把眼前事情做好就滿足了。

掌握了資料結構與算法,你看待問題的深度,解決問題的角度就會完全不一樣。

02 | 如何抓住重點,系統高效地學習資料結構與算法?

沒有找到好的學習方法,沒有抓住學習的重點。

從廣義上講,資料結構就是指一組資料的存儲結構,算法是操作資料的一組方法。資料結構和算法是相輔相成的。資料結構是為算法服務的,算法要作用在特定的資料結構之上。

學習它的來曆、自身的特點、适合解決的問題以及實際的應用場景。

複雜度分析:時間複雜度、空間複雜度

十個資料結構:數組、連結清單、棧、隊列、散清單、二叉樹、堆、跳表、圖、Trie樹

十個算法:遞歸、排序、二分查找、搜尋、雜湊演算法、貪心算法、分治算法、回溯算法、動态規劃、字元串比對算法

邊學邊練,适度刷題
多問、多思考、多互動
在枯燥的學習過程中,給自己設立一個切實可行的目标,比如思考留言,學習筆記,學習心得,找錯等等
知識需要沉澱,不要試圖一下子掌握所有。學習知識的過程是反複疊代、不斷沉澱的過程
           

繼續閱讀