算法的過程很詳細,美中不足的是最基本最常用的那些算法其實是比較少的,花點時間多想想為什么,知其然還要知其所以然(1,2),這樣才能活學活用。
1. 書
1.1 編程珠璣
言簡意賅,回味無窮。本書的網絡版在 http://netlib.bell-labs.com/cm/cs/pearls/ 上,附有源代碼。 這里有我的讀書總結。 受到此書的影響,我對代碼產生了很強的潔癖,堅信代碼還可以寫得更優美,更藝術。此外面對一個問題時分析的角度更多了。
1.2 編程之美
書上的每個題都會仔細地做,并完成代碼。思考的樂趣是無窮的,時常會有樂趣。
1.3 算法導論
經典但是比較厚,適合系統地學習算法,而后每次遇到不懂的可以再查閱,算法的過程很詳細,美中不足的是沒有知其所以然的感覺??创藭谝槐闀r,是按照書的順序看的,對這些算法大致都有熟悉了。后來會偶爾查閱。現在為了準備算法,會時常查閱此書。
2. 文章
2.1 Do We Teach the Right Algorithm Design Techniques ?
把算法按其通用程度提出了4個最基本的算法思想:Brute force , Divide & conquer , Decrease & conquer, Transform & conquer。
讀完后可以對算法的整體有更好的掌握。
3. 網絡教程
3.1 Top Coder的algorithm tutorial