第一部分 搜索与排序 3
第1章 二分搜索 3
第2章 插入排序 8
第3章 快速排序 11
第4章 并行排序——追求速度 17
第5章 拓扑排序——合理安排任务执行次序 25
第6章 快速搜索文本——Boyer-Moore-Horspool算法 30
第7章 深度优先搜索 37
第8章 Pledge算法——如何从黑暗的迷宫中逃脱 46
第9章 图中的回路 51
第10章 PageRank——搜索万维网 60
第二部分 算术与密码 69
第11章 大整数相乘——比长乘更快 69
第12章 欧几里得算法 75
第13章 埃拉托色尼筛法——计算素数表能有多快 79
第14章 单向函数的陷阱——掉下去就出不来了 88
第15章 一次性加密算法——最简单、最安全的保密方式 94
第16章 公钥密码 99
第17章 如何共享机密 108
第18章 通过电子邮件玩扑克 114
第19章 指纹 122
第20章 哈希方法 131
第21章 编码——防止数据出错或丢失 136
第三部分 规划、协同与模拟 147
第22章 广播——如何迅速发布信息 147
第23章 将数字转换为英语单词 152
第24章 确定多数——谁当选为班级代表 157
第25章 随机数——如何在计算机中创造随机 163
第26章 火柴游戏的取胜策略 170
第27章 体育联赛日程编排 175
第28章 欧拉回路 181
第29章 快速画圆 186
第30章 计算物理问题的高斯-赛德尔迭代 192
第31章 动态规划——计算进化距离 198
第四部分 优化 205
第32章 最短路 205
第33章 最小生成树——有时贪心也有回报 211
第34章 最大流——在高峰时刻去体育场 216
第35章 婚姻介绍人 225
第36章 圆闭包 232
第37章 在线算法 235
第38章 装箱问题 239
第39章 背包问题 245
第40章 旅行推销商问题 250
第41章 模拟退火 256