02如何抓住重点,系统高效地学习数据结构与算法?
以下內容總結自極客時間王爭大佬的《數據結構與算法之美》課程,本文章僅供個人學習總結。
什么是數據結構?什么是算法?
從廣義上講,數據結構就是指一組數據的存儲結構。算法就是操作數據的一組方法。
類比圖書館的書籍,我們如果想找一本書可以有很多種方法能找到這本書,可以從頭一本一本找,也可以根據分類來縮小范圍找。毫無疑問后一種耗時更少。這就是生活中的算法。
算法和數據結構是聯系在一起的,特定的數據結構有特定的算法去操作,數據結構為算法提供服務,算法又依賴于特定的數據結構。比如廣度優先遍歷就可以作用在樹或者圖上,但是沒有對數組進行廣度優先遍歷的。
數據結構是靜態的,它只是組織數據的一種方式。如果不在它的基礎上操作、構建算法,孤立存在的數據結構就是沒用的。
學習的重點在什么地方?
一些可以讓你事半功倍的學習技巧
“邊學邊練”這一招非常有用。建議你每周花1~2個小時的時間,集中把這周的三節內容涉及的數據結構和算法,全都自己寫出來,用代碼實現一遍。這樣一定會比單純地看或者聽的效果要好很多!
學習最好的方法是,找到幾個人一起學習,一塊兒討論切磋,寫博客是一件可以交流和思考的很好的方式
每節課后都寫一篇學習筆記或者學習心得,可以不用太長,但是一定要有思考。證明自己有進步
在學習的過程中,一定會碰到“攔路虎”。如果哪個知識點沒有怎么學懂,不要著急,這是正常的。因為,想聽一遍、看一遍就把所有知識掌握,這肯定是不可能的。學習知識的過程是反復迭代、不斷沉淀的過程。 如果碰到“攔路虎”,可以請教他人,或者可以先沉淀一下,過幾天再重新學一遍。所謂,書讀百遍其義自見,我覺得是很有道理的!
課后思考
思考學習數據結構與算法的方法。另外,你在之前學習數據結構和算法的過程中,遇到過什么樣的困難或者疑惑嗎?
主要是利用每天的通勤時間聽大佬的課程,對照著講義看,然后每次聽完一節課些一篇總計記錄下本節的內容和自己的思考,將自己的小節記錄放在github上,能夠促進自己堅持下去。
最近刷leecode就碰到了一個動態規劃的問題,斷斷續續想了一周沒有解決,代碼很簡單,但是自己對動態規劃的思維方式有些不理解,導致卡頓。所以訂了大佬的課程想系統的學習數據結構與算法。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的02如何抓住重点,系统高效地学习数据结构与算法?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows下把SD卡格式化成NTFS
- 下一篇: java信息管理系统总结_java实现科