第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 纸牌发牌(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章 动态规划
4.1 基础动态规划问题
4.1.1 数学三角形(The Triangle/1163/3176)
4.1.2 括号序列(Brackets/2955)
4.1.3 乘法问题(Multiplication Puzzle/1651)