全局更新

  • 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难的

算法导论第四版更新了什么?相关推荐

  1. 《算法》(第四版)------------图

    <算法>(第四版)------------图 最小生成树 概念 最小生成树:含有图中所有顶点的 无环 连通 子图. 切分:将图所有顶点氛围两个非空且不重叠的两个集合.横切边是一条连接两个属 ...

  2. IDEA配置java《算法》第四版环境(耗时6小时,总算配置成功了,希望能给大家一点帮助)

    0.前言 最近在学java语言,然后想用java语言来学习算法,在网上听说看<算法>第四版学习java算法不错,于是就去下载了<算法>电子书来啃 今天看到了用java java ...

  3. 给出TREE_INSERT过程的非递归版本(算法导论第三版12.3-1)

    给出TREE_INSERT过程的非递归版本(算法导论第三版12.3-1) template<typename T> void insert_recursive(BinaryTree< ...

  4. 写出TREE-PREDECESSOR的伪代码(算法导论第三版12.2-3)

    写出TREE-PREDECESSOR的伪代码(算法导论第三版12.2-3) TREE-PREDECESSOR(x)if x.left != NILreturn TREE-MAXIMUM(x.left) ...

  5. 写出TREE-MINIMUM 和TREE-MAXIMUM的递归版本(算法导论第三版12.2-2)

    写出TREE-MINIMUM 和TREE-MAXIMUM的递归版本(算法导论第三版12.2-2) template<typename T> BinaryTreeNode<T>* ...

  6. 二叉树的中序遍历非递归方法(算法导论第三版12.1-3)

    二叉树的中序遍历非递归方法(算法导论第三版12.1-3) 1⃣️用栈实现 template<typename T> void inorder_tree_walk_non_recursion ...

  7. 二叉树的遍历(算法导论第三版12.1-4)(包含先序遍历,后序遍历和中序遍历)

    二叉树的遍历(算法导论第三版12.1-4) 1⃣️先序遍历 template<typename T> void preorder_tree_wald(BinaryTreeNode<T ...

  8. 算法导论第三版第十一章11.1-4

    算法导论第三版第十一章11.1-4 我们希望在一个非常大的数组上,通过利用直接寻址的方式来实现一个字典.开始时,该数组中可能包含一些无用信息,但要堆整个数组进行初始化时不太实际的,因为该数组的规模太大 ...

  9. 利用链表实现可合并堆(算法导论第三版思考题10-2)

    利用链表实现可合并堆(算法导论第三版思考题10-2) a 链表已排序 创建一个空堆: Θ(1) 插入:Θ(n),插入后依然保持排序 最小值:Θ(1),第一位便是 取最小值:Θ(1) 合并:Θ(n),可 ...

  10. 非递归遍历二叉树(算法导论第三版第十章10.4-5)

    非递归遍历二叉树(算法导论第三版第十章10.4-5) template<typename T> void TraverseBinaryTreeNonRecursive(BinaryTree ...

最新文章

  1. lua-resty-iputils, 在Openresty中,用于处理IP地址的实用程序函数
  2. 使用 .NET 升级助手将.NET Framework应用迁移到.NET 5
  3. 转:如何在 LoadRunner 脚本中做关联 (Correlation)
  4. 【opencv学习】【Harris角点检测】
  5. 第三只眼使用局域网版本还是网络版好_让汽车的“第三只眼”更聪明更安全
  6. html前端开发作品,Web前端开发(HTML5+CSS3)
  7. 《JavaScript设计模式》读书笔记模板方法模式
  8. android 渠道商,【华为怒斥渠道商】
  9. 拉普拉斯变换的本质意义(好文!通俗易懂)
  10. html base64在线解码,HTML5原生支持Base64编码解码
  11. BI 报表工具如何与 springBoot 框架集成
  12. BH1750 STM32 驱动程序
  13. Kubernetes详解
  14. 推荐一些亲测实用的小软件
  15. HBaseCon亚洲2018峰会盛大开幕 阿里带你洞悉HBase大数据生态最新发展和行业实践
  16. python可以ps吗_python-PS图片
  17. 手机变速齿轮_变速齿轮神途官方版下载-变速齿轮神途手游官方版下载 v2.20190828-114手机乐园...
  18. WSN(3)(1):第三章  无线传感网络的通信与组网
  19. 网络 路由器基本协议配置
  20. matlab adaboost工具箱,GML_AdaBoost_Matlab_Toolbox

热门文章

  1. 中国工业互联网相关政策汇总分析:“十四五”系列规划助力工业互联网创新融合发展[图]
  2. wwwscan目录扫描器的逆向分析
  3. c语言课程设计找出肇事车牌,C语言课程设计参考题目.doc
  4. 进阶之路 | 奇妙的Activity之旅
  5. MT7621AT,MT7620A,WIFI6,MT7975D+MT7915DAN
  6. fastdfs 集群配置
  7. er studio mysql逆向生成
  8. 【python】chardet函数用法
  9. PlantUML - 程序员必备绘图工具,不只是UML
  10. Python移植MATLAB的巴特沃斯滤波器,椭圆滤波器