全局更新
- 140道新的习题,22个新问题,以及其他习题和问题的版本更新
- 整本书增加了颜色来改善阅读体验,对定义的条款和伪代码注释做了高亮
- 写作风格更清晰、更有个性、更中性
- 代码用Python替换了原来的Java
组织结构更新
3个新章节:
- 第25章,二分图匹配(Matchings in Bipartite Graphs)
- 第27章,在线算法
- 第33章,机器学习算法
转移到线上的内容:
- 第19章,斐波那契堆
- 第20章,van emde boas tree(vEB树)
- 第33章,计算几何
- 4.1小节,最大子数组问题(maximum-subarray problem)
- 10.3小节, 实现指针和对象
- 11.5小节,完美哈希
- 12.4小节,随机生成二叉搜索树
- 16.4,16.5小节,拟阵(matroid)
- 26.4,26.5小节,最大流推进-重标号算法(push-relabel algorithms for maximum flow)
- 29.3,29.5小节,线性规划的单纯形算法(simplex algorithm for linear programming)
- 部分30.0小节,迭代快速傅里叶变换方法
- 31.9小节,整数分解
章节更新
- 第三章,函数的增长:重命名了“描述运行时间”,在形式化定义之前增加一个小节概述渐近符号
- 第四章,分治:做了大幅修改来提升数学基础,使更加完善和直观
- 引入了算法递归,并更严格地解决了递归中忽略上限和下限的问题
- 主定理的第二种情况合并了对数因子,并提供了“连续”版本主定理的严格证明
- 增加了强大和通用的Akra-Bazzi方法(无证明)
- 第九章,中位数和顺序统计学:确定性顺序统计算法有所不同,对随机和确定性顺序统计算法的分析进行了改进
- 第十章,基础数据结构:10.1小节讨论了存储数组和矩阵的方法
- 第十一章,哈希表:包括哈希函数的现代处理,并强调当底层硬件实现的缓存机制更有利于局部搜索时,线性探测是解决冲突的有效方法
- 第十五章,贪心算法:替换了关于拟阵的部分,将第三版中关于离线缓存的问题转换为一个完整的小节
- 第十六章,均摊分析:第16.4节现在更直观地解释了用于分析表倍增和减半的潜在函数
- 第十七章,数据结构的扩充,从第三部分转移到第四部分,更能反映作者的观点,该部分内容超越了基本材料
- 【新】第二十五章,二分图匹配:介绍了寻找最大基数匹配的算法,稳定婚姻问题 ,最大权重匹配问题(也称为“分配问题”)
- 第二十六章,并行算法:更新了现代术语,包括章节名字
- 【新】第二十七章,在线算法:介绍了几个在线算法的例子,包括确定在走楼梯之前等待电梯的时间,通过move-to-front启发式来维护一个链表,以及评估缓存的替换策略
- 第二十九章,线性规划:去掉了单纯形算法的详细介绍。 这一章现在集中在如何将问题建模为线性规划,以及线性规划的对偶性质
- 第三十二章,字符串匹配:第32.5小节增加了字符串匹配中简单而强大的后缀数组结构
- 【新】第三十三章,机器学习算法:介绍了机器学习中使用的几种基本方法:聚类算法将相似的项分组在一起,加权多数(weighted-majority)算法,以及梯度下降来寻找函数的最小值
- 第三十四章,NP完全问题:第34.5.6节总结了多项式时间约简的策略,表明问题是np难的
|