1. 程式人生 > >我的演算法學習規劃

我的演算法學習規劃

目錄

第一階段:演算法導論

第二階段:TAOCP演算法卷

第三階段:刷題階段


第一階段:演算法導論

第一階段:時間:11.13.~12.7(25天)

第一階段目標:掌握演算法核心知識,掌握演算法和資料結構的本科和研究生課程,精讀掌握《演算法導論》

  • 本科生課程之資料結構(11.14~11.21號),精讀掌握:普林斯頓大學教材《演算法,第四版》
  • 本科生課程之演算法(11.21~11.28號),精讀掌握:麻省理工大學教材《演算法導論,上半本》
  • 研究生課程之演算法設計與複雜性(11.28~12.7號)),精讀掌握:麻省理工大學教材《演算法導論,下半本》
  • 第一階段計劃詳情:https://blog.csdn.net/weixin_43314012/article/details/83929132

PS:第一階段我僅僅會練適當的題目,不會花時間在提高解題速度上。


 

第二階段:TAOCP演算法卷

 

第二階段:時間(大約在3個月後,大約需要30~60天來完成此目標)

第二階段目標:掌握計算機理論博士生的演算法課程(僅僅是掌握課程),精讀並理解TAOCP程式設計與藝術的演算法卷。

 

 


 

第三階段:刷題階段

關於演算法需不需要刷大量的題還是存疑的,不同的前輩有不同的意見。有些人認為做高階牛逼的專案會比刷這些數學演算法題更有價值和意義。但是我肯定還是會刷一定量的題,具體刷多少我還是不清楚。。我可能會在某個月每天刷2題。。也可能集中1周2周的時間來完成慕課平臺的一些專門為演算法刷題設計的教學視訊。

 

我之所以把刷題放在最後,是為了避免在一些低階知識上耗費大量的練習時間,這是我一貫的學習策略。

很多物理博士或其他非計算機科班出身的人,可以在3~4年內攻讀下一個計算機博士學位(也就是說,他們完全跳過了研究生和本科階段的學習,直接進入博士研究階段),就是利用這樣的學習策略的。(他們哪有時間刷本科的題啊。。)