第1章 程序設計算法概述
1.1 算法實現過程
1.2 算法的特征及評價標準
1.3 算法分析
1.4 算法實踐
第2章 基礎算法
2.1 枚舉法
2.1.1 生理周期(Biorhythms/1006)
2.1.2 立方體(Blocks/2363)
2.1.3 立方(Perfect Cubes/1543)
2.1.4 千年蟲病毒(Y2K Accounting Bug/2586)
2.1.5 保險箱(Safecracker/1248)
2.1.6 裝盒問題(Packets/1017)
2.2 遞歸法
2.2.1 遞歸函數(Function Run Fun/1579)
2.2.2 還原二叉樹(Tree Recovery/2255)
2.2.3 分形(Fractal/2083)
2.2.4 放蘋果(1664)
2.2.5 排列問題(Orders/1731)
2.3 分治法
2.3.1 誰在中間(Who's in the Middle/2388)
2.3.2 排序問題(Ultra-QuickSort/2299)
2.3.3 好斗的牛(Aggressive cows/2456)
2.3.4 分餡餅(Pie/3122)
2.3.5 木桿的膨脹(ExpandingRods/1905)
2.3.6 星形還是樹形(A Star not a Tree?/2420)
第3章 基礎數據結構
3.1 堆棧
3.1.1 網站導航(Web Navigation/1028)
3.1.2 糟糕的 (Bad Hair Day/3250)
3.1.3 鐵軌問題(Rails/1363)
3.1.4 可怕的集合(Terrible Sets/2082)
3.1.5 數字密碼(Code/1780)
3.2 隊列
3.2.1 紙牌戲法(Card Trick/3032)
3.2.2 紙牌發(fā)牌(Card Stacking/3629)
3.2.3 打印隊列(Printer Queue/3125)
3.2.4 成組隊列(Team Queue/2259)
3.2.5 滑動窗口(Sliding Window/2823)
3.3 堆
3.3.1 修理柵欄(Fence Repair/3253)
3.3.2 數據流管理系統(Argus/2051)
3.3.3 黑盒問題(BlackBox/1442)
3.3.4 序列問題(Sequence/2442)
3.3.5 財務補助(Moo University-Financial Aid/2010)
第4章 動態(tài)規(guī)劃
4.1 基礎動態(tài)規(guī)劃問題
4.1.1 數學三角形(The Triangle/1163/3176)
4.1.2 括號序列(Brackets/2955)
4.1.3 乘法問題(Multiplication Puzzle/1651)