第1章 绪论 1
1.1什么是算法 1
1.2算法的时间复杂度 2
1.3算法时间复杂度分析示例 4
1.4 PKU OpenJudge在线评测系统 5
1.5本章小结 6
第2章 简单计算与模拟 7
2.1基本思想 7
2.2例题:鸡兔同笼(POJ 3237) 7
2.3例题:校门外的树(POJ 2808) 9
2.4例题:装箱问题(POJ 1017) 12
2.5例题:约瑟夫问题(POJ 2746) 14
2.6例题:显示器(POJ 2745) 17
2.7例题:排列(POJ 1833) 21
2.8本章小结 24
2.9练习题 25
习题2-1:与7无关的数(POJ 2701) 25
习题2-2:细菌繁殖(POJ 2712) 25
习题2-3:判断闰年(POJ 2733) 26
习题2-4:求一元二次方程的根(POJ 2707) 27
习题2-5:合唱队形(POJ 2711) 28
第3章 枚举 29
3.1基本思想 29
3.2例题:假币问题(POJ 2692) 30
3.3例题:生理周期(POJ 4148) 33
3.4例题:完美立方(POJ 2810) 36
3.5例题:熄灯问题(POJ 2811) 38
3.6例题:讨厌的青蛙(POJ 2812) 42
3.7本章小结 47
3.8练习题 48
习题3-1:数字三元组(POJ 4146) 48
习题3-2:质数的和与积(POJ 4138) 48
习题3-3:不定方程求解(POJ 4139) 49
习题3-4:砝码称重(POJ 4141) 49
习题3-5:垃圾炸弹(POJ 4133) 50
第4章 递归 52
4.1基本思想 52
4.2例题:汉诺塔问题 53
4.3例题:小游戏(POJ 2802) 55
4.4例题:棋盘分割(POJ 1191) 60
4.5例题:八皇后问题(POJ 2754) 64
4.6例题:文件结构“图”(POJ 2775) 67
4.7例题:算24(POJ 2787) 71
4.8例题:汉诺塔问题利用栈替代递归的解法 74
4.9本章小结 77
4.10练习题 77
习题4-1:斐波那契数列(POJ 2753) 77
习题4-2:求最大公约数问题(POJ 3248) 78
习题4-3:分解因数(POJ 2749) 79
习题4-4:逆波兰表达式(POJ 2694) 79
习题4-5:括号匹配问题(POJ 3704) 80
第5章 二分查找 82
5.1基本思想 82
5.2例题:方程求解(POJ 4140) 84
5.3例题:在线翻译(POJ 2503) 85
5.4例题:快速找到和为零的四个数(POJ 3441) 88
5.5例题:疯牛(POJ 2456) 91
5.6例题:弯曲的木杆(POJ 1905) 94
5.7例题:放弃考试(POJ 4145) 98
5.8本章小结 101
5.9练习题 102
习题5-1:查找最接近的元素(POJ 4134) 102
习题5-2:二分法求函数的零点(POJ 4142) 103
习题5-3:和为给定数(POJ 4143) 103
习题5-4:月度开销(POJ 4135) 104
习题5-5:矩形分割(POJ 4136) 105
第6章 贪心算法 106
6.1基本思想 106
6.2例题:圣诞老人的礼物(POJ 4110) 106
6.3例题:电池的寿命(POJ 3468) 109
6.4例题:建立雷达(POJ 1328) 112
6.5例题:田忌赛马(POJ 2287) 116
6.6例题:钓鱼(POJ 1042) 119
6.7例题:畜栏保留问题(POJ 4144) 124
6.8本章小结 127
6.9练习题 128
习题6-1:金银岛(POJ 2795) 128
习题6-2:最短前缀(POJ 2797) 129
习题6-3:书架(POJ 3406) 130
习题6-4:最小新整数(POJ 4137) 131
习题6-5:拼点游戏(POJ 4005) 132
第7章 动态规划 134
7.1基本思想 134
7.2动态规划解题的一般思路 139
7.3例题:最长上升子序列(POJ 2533) 141
7.4例题:最长公共子序列(POJ 1458) 143
7.5例题:Charm Bracelet(POJ 4131) 146
7.6例题:滑雪(POJ 1088) 149
7.7例题:灌溉草场(POJ 2373) 154
7.8例题:方盒游戏(POJ 1390) 159
7.9例题:美妙栅栏(POJ 1037) 166
7.10本章小结 171
7.11练习题 172
习题7-1:简单的整数划分问题(POJ 4117) 172
习题7-2:开餐馆(POJ 4118) 173
习题7-3:复杂的整数划分问题(POJ 4119) 174
习题7-4:硬币(POJ 4120) 175
习题7-5:宠物小精灵之收服(POJ 4102) 175
习题7-6:股票买卖(POJ 4121) 177
习题7-7:切割回文(POJ 4122) 178
第8章 深度优先搜索 180
8.1基本思想 180
8.2例题:城堡问题(POJ 2815) 184
8.3例题:ROADS(POJ 1724) 188
8.4例题:生日蛋糕(POJ 1190) 193
8.5例题:Sticks(POJ 1011) 197
8.6本章小结 203
8.7练习题 204
习题8-1:踩方格(POJ 4103) 204
习题8-2:棋盘问题(POJ 1321) 205
习题8-3:马走日(POJ 4123) 206
习题8-4:海贼王之伟大航路(POJ 4124) 206
习题8-5: DNA(POJ4126) 208
第9章 广度优先搜索 209
9.1基本思想 209
9.2例题:Catch That Cow (POJ 4001) 210
9.3例题:拯救行动(POJ 4116) 213
9.4例题:鸣人和佐助(POJ 4115) 217
9.5例题:八数码(POJ 1077) 220
9.6双向广度优先搜索 226
9.7本章小结 232
9.8练习题 232
习题9-1:迷宫问题(POJ 4127) 232
习题9-2:单词序列(POJ 4128) 233
习题9-3:变换的迷宫(POJ 4129) 234
习题9-4:Flip Game(POJ 1753) 235
习题9-5:Saving Tang Monk(POJ 4130) 236
习题9-6:Jack and Jill(POJ 1729) 237