原本計劃在假期中總結完,結果速度太悠哉了,至今沒整理完?。
"是否具有算法知識與技術的堅實基礎是區分真正熟練的程序員與初學者的一個特征(《算法導論》)".? Charles Leiserson教授在MIT算法導論第一堂課說的:“如果你想成為一個編程高手,只要兩年中每天堅持編程,你就能成為編程高手。如果你想成為一名世界級的程序員,你既可以十年如一日每天堅持編程,也可以兩年中每天編程,然后上一門算法課”。依然是記憶猶新,同時也在一直提醒著我算法的重要性。
以下是**程序算法藝術與實踐**內容博文的索引:***(待定未完待續)***
1. 預備知識
- [有關算法的基本概念](http://blog.csdn.net/songzitea/article/details/46057403)
- [函數的漸近的界 ](http://blog.csdn.net/songzitea/article/details/47668991)
分治/遞歸策略(Divide and Conquer)
- [分治/遞歸的基本思想](http://blog.csdn.net/songzitea/article/details/48468733)
- [遞歸循環與迭代](http://blog.csdn.net/songzitea/article/details/48498119)
- [Fibonacci數列](http://blog.csdn.net/songzitea/article/details/47669689)
- [矩陣相乘問題](http://blog.csdn.net/songzitea/article/details/47669533)
動態規劃(Dynamic Programming)
- DP設計思想
- 經典應用:投資問題
- 經典應用:背包問題(Knapsack Problem)
- 經典應用:最長公共子序列LCS
貪心法(Greedy Approach)
- GA設計思想
- 關于GA的正確性證明
- 經典應用:哈夫曼Huffman編碼問題
- 經典應用:最小生成樹(Prme算法與KMP算法)
- 經典應用:單源最短路徑(Dijkstra算法)
NP完全問題
近似算法
隨機算法
在線算法
遺傳算法
模擬退火算法
蟻群算法
**經典排序算法**
1.
[插入排序(Insertion Sort)](http://blog.csdn.net/songzitea/article/details/48498019)
1. [桶排序(Bucket Sort)](http://blog.csdn.net/songzitea/article/details/47124461)
1. 冒泡排序(Bubble Sort**)
1. 快速排序(Quick Sort)
1. 歸并排序(Merge Sort)
1. 堆積排序(Heap Sort)
1. 選擇排序(Selection sort)
**參考資料**
1.
Donald E.Knuth 著,蘇運霖 譯,《計算機程序設計藝術,第1卷基本算法》,國防工業出版社,2002年
1.
Donald E.Knuth 著,蘇運霖 譯,《計算機程序設計藝術,第2卷半數值算法》,國防工業出版社,2002年
1.
Donald E.Knuth 著,蘇運霖 譯,《計算機程序設計藝術,第3卷排序與查找》,國防工業出版社,2002年
1.
Thomas H. Cormen, Charles E.Leiserson, etc., Introduction to Algorithms(3rd edition), McGraw-Hill Book Company,2009
1.
Jon Kleinberg, ?va Tardos, Algorithm Design, Addison Wesley, 2005.
1.
Sartaj Sahni ,《數據結構算法與應用:C++語言描述》 ,汪詩林等譯,機械工業出版社,2000.
1.
屈婉玲,劉田,張立昂,王捍貧,算法設計與分析,清華大學出版社,2011年版,2013年重印.
1.
張銘,趙海燕,王騰蛟,《數據結構與算法實驗教程》,高等教育出版社,2011年 1月
1.
王曉東,《算法設計與分析》 ,清華大學出版社,2003年1月。
**參考網站**
1.
MIT 的《算法導論》(有OCW鏈接)[http://stellar.mit.edu/S/course/6/sp13/6.006/](http://stellar.mit.edu/S/course/6/sp13/6.006/)
1.
Stanford 算法[ https://www.coursera.org/course/algo](https://www.coursera.org/course/algo)
1.
Princeton 算法課? [https://www.coursera.org/course/algs4partI](https://www.coursera.org/course/algs4partI)
1. Berkeley《數據結構》??[http://www.cs.berkeley.edu/~jrs/61b/](http://www.cs.berkeley.edu/%7Ejrs/61b/)
1.
Web 上的術語資源[http://www.nist.gov/dads/](http://www.nist.gov/dads/)??
1.
Algorithms in the Real World[ http://www.cs.cmu.edu/~guyb/realworld.html](http://www.cs.cmu.edu/%7Eguyb/realworld.html)
1.
Advanced Data Structures and Algorithms[ http://theory.stanford.edu/~rajeev/cs361.html](http://theory.stanford.edu/%7Erajeev/cs361.html)
1.
Advanced Data Structures[ http://www.cs.biu.ac.il/~moshe/ds1.html](http://www.cs.biu.ac.il/%7Emoshe/ds1.html)
1.
CS 2015 Grad Algorithms, Spring [2015 http://people.cs.pitt.edu/~kirk/cs2150/](http://people.cs.pitt.edu/~kirk/cs2150/)
1.
哈工大《算法設計與分析之入門篇》[http://mooc.study.163.com/course/HIT-1000002012#/info](http://mooc.study.163.com/course/HIT-1000002012#/info)
1.
哈工大《算法設計與分析之進階篇》[http://mooc.study.163.com/course/HIT-1000005000#/info](http://mooc.study.163.com/course/HIT-1000005000#/info)
1.
《數據結構與算法》精品課程? [http://www.jpk.pku.edu.cn/pkujpk/course/sjjg](http://www.jpk.pku.edu.cn/pkujpk/course/sjjg)
關于[程序算法藝術與實踐](http://blog.csdn.net/column/details/tac-programalgrithm.html)更多討論與交流,敬請關注本博客和新浪微博[songzi_tea](http://weibo.com/songzitea).
- 前言
- 螺旋矩陣、螺旋隊列算法
- 程序算法藝術與實踐:稀爾排序、冒泡排序和快速排序
- Josephu 問題:數組實現和鏈表實現
- 楊輝三角形算法
- 位圖排序
- 堆排序的實現
- Juggling算法
- 【編程珠璣】排序與位向量
- 取樣問題
- 變位詞實現
- 隨機順序的隨機整數
- 插入排序
- 二分搜索
- 產生不重復的隨機數
- 約瑟夫環解法
- 快速排序
- 旋轉交換或向量旋轉
- 塊變換(字符反轉)
- 如何優化程序打印出小于100000的素數
- 基本的排序算法原理與實現
- 利用馬爾可夫鏈生成隨機文本
- 字典樹,后綴樹
- B-和B+樹
- 程序算法藝術與實踐引導
- 程序算法藝術與實踐:基礎知識之有關算法的基本概念
- 程序算法藝術與實踐:經典排序算法之桶排序
- 程序算法藝術與實踐:基礎知識之函數的漸近的界
- 程序算法藝術與實踐:遞歸策略之矩陣乘法問題
- 程序算法藝術與實踐:遞歸策略之Fibonacci數列
- 程序算法藝術與實踐:遞歸策略基本的思想
- 程序算法藝術與實踐:經典排序算法之插入排序
- 程序算法藝術與實踐:遞歸策略之遞歸,循環與迭代