原本計劃在假期中總結完,結果速度太悠哉了,至今沒整理完 。
"是否具有算法知識與技術的堅實基礎是區分真正熟練的程序員與初學者的一個特徵(《算法導論》)". Charles Leiserson教授在MIT算法導論第一堂課說的:“如果你想成爲一個編程高手,只要兩年中每天堅持編程,你就能成爲編程高手。如果你想成爲一名世界級的程序員,你既可以十年如一日每天堅持編程,也可以兩年中每天編程,然後上一門算法課”。依然是記憶猶新,同時也在一直提醒着我算法的重要性。
以下是程序算法藝術與實踐內容博文的索引:(待定未完待續)- 預備知識
動態規劃(Dynamic Programming)
- DP設計思想
- 經典應用:投資問題
- 經典應用:揹包問題(Knapsack Problem)
- 經典應用:最長公共子序列LCS
- GA設計思想
- 關於GA的正確性證明
- 經典應用:哈夫曼Huffman編碼問題
- 經典應用:最小生成樹(Prme算法與KMP算法)
- 經典應用:單源最短路徑(Dijkstra算法)
經典排序算法
- 桶排序(Bucket Sort)
- 冒泡排序(Bubble Sort)
- 快速排序(Quick Sort)
- 歸併排序(Merge Sort)
- 堆積排序(Heap Sort)
- 選擇排序(Selection sort)
參考資料
Donald E.Knuth 著,蘇運霖 譯,《計算機程序設計藝術,第1卷基本算法》,國防工業出版社,2002年
Donald E.Knuth 著,蘇運霖 譯,《計算機程序設計藝術,第2卷半數值算法》,國防工業出版社,2002年
Donald E.Knuth 著,蘇運霖 譯,《計算機程序設計藝術,第3卷排序與查找》,國防工業出版社,2002年
Thomas H. Cormen, Charles E.Leiserson, etc., Introduction to Algorithms(3rd edition), McGraw-Hill Book Company,2009
Jon Kleinberg, Ėva Tardos, Algorithm Design, Addison Wesley, 2005.
Sartaj Sahni ,《數據結構算法與應用:C++語言描述》 ,汪詩林等譯,機械工業出版社,2000.
屈婉玲,劉田,張立昂,王捍貧,算法設計與分析,清華大學出版社,2011年版,2013年重印.
張銘,趙海燕,王騰蛟,《數據結構與算法實驗教程》,高等教育出版社,2011年 1月
王曉東,《算法設計與分析》 ,清華大學出版社,2003年1月。
參考網站
MIT 的《算法導論》(有OCW鏈接) http://stellar.mit.edu/S/course/6/sp13/6.006/
Stanford 算法 https://www.coursera.org/course/algo
Princeton 算法課 https://www.coursera.org/course/algs4partI
- Berkeley《數據結構》 http://www.cs.berkeley.edu/~jrs/61b/
Web 上的術語資源 http://www.nist.gov/dads/
Algorithms in the Real World http://www.cs.cmu.edu/~guyb/realworld.html
Advanced Data Structures and Algorithms http://theory.stanford.edu/~rajeev/cs361.html
Advanced Data Structures http://www.cs.biu.ac.il/~moshe/ds1.html
CS 2015 Grad Algorithms, Spring 2015 http://people.cs.pitt.edu/~kirk/cs2150/
哈工大《算法設計與分析之入門篇》http://mooc.study.163.com/course/HIT-1000002012#/info
哈工大《算法設計與分析之進階篇》http://mooc.study.163.com/course/HIT-1000005000#/info
《數據結構與算法》精品課程 http://www.jpk.pku.edu.cn/pkujpk/course/sjjg
關於程序算法藝術與實踐更多討論與交流,敬請關注本博客和新浪微博songzi_tea.