算法主义
首发于算法主义

《算法设计与分析》教材内容修订

陆续对书中的一些错误和可改进的地方,进行修订。按照章节顺序,列在下面:

第一章

1.3.2节,第11页:“问题规模到算法复杂度的映射”这里面说映射不对,应该改成“问题规模到算法复杂度的对应关系”。(2018.3.6,课上同学指出)

第二章

2.1节:第18页,图2.1中,节点3和节点6之间应该有一条线,整个图是一棵完美二叉树。(2017.11.10,京东用户评论指出)

2.2节:对于渐近增长率的定义而言,书中的论述已经隐含假设了f(n)/g(n)的极限存在。对于常见算法的代价函数而言,这一假设是合理的。在修订版中,将把这一问题明确说明。(2017.9.15,赵建华老师指出)

第三章

3.1节第33页,第6行:中位数的定义中,应该是上取整,即“阶为 \lceil\frac{n}{2}\rceil 的元素被定义为中位数”。(2018.4,16122党美华指出)

习题3.4中的算法的第4行:原来是“while j>0 and A[j]”,and后面的条件是错的,应该改成“while j>0 and A[j]<=A[i]”。(2018.3.10,课上同学161220154闫雨呼指出)

第六章

P86,算法25,第2行:应该是:q:= \lfloor \frac{p+r}{2} \rfloor ;(2018.3.23,课上同学指出)

P89,“这里,NL和NR分别表示左、右子树的叶节点个数”(原文写的是“节点”个数,此处改成“节点个数”)

第八章

P107,倒数第二行:应该是“多少个小于m*的元素,我们等价地...”(原文“大”改成“小”)。(2018.4,161220154闫雨呼指出)

第十章

P125,第6行,“因为从Wa时针连到...”(原文“逆时针”是错的)

第十一章

P143,关于图11.1的解读有错误。在A和B确定之后,应该是A和G的最短路径被确定(原文写的A到C的路径被确定是错误的)。另外,图11.1的c)和d)两幅小图中,边AB的权都应该是2,边BC的权值都应该是4。(下一版考虑把图11.1的c)和d)小图重新画一下。目前的图是为了例子中左边阴影中的顶点数多一点,跳过了A到B和G的最短路径被确定的情况,用我们课上的术语,就是跳过了问题P(3)的情况。)

第十三章

P162,第2自然段,第4行:“添加一条i指向k的边”(原文“i指向j的边”是错的)

第十四章

P175,EditDis公式上面第3行:“如果两个字符不同,则编辑距离加1”(原文“如果两个字符相同”是错的)

P178,14.3.4节:问题P(2)的定义应该是这样:“P(2)=max{A[2], A[2]+A[1], P(1)}”(也就是说,原文写的“P[1]”是错误的)。

还是这一页,问题P(4)的定义应该是:“P(4)=max{A[4], A[4]+A[3], A[4]+A[3]+A[2], A[4]+A[3]+A[2]+A[1], P(3)}”(也就是说原文中的第四项,写成"A[4]+A[3]+A[2]+1"是错的)。(2018.3.20,课后由141180038黄谦同学指出)

P179,“14.4习题”标题上第2行:“我们只需从下到上...”(原文“从上到下”是错的)

第十六章

P197,问题16.3中间的CNF到DNF的转换计算有误,大家可以自己算一下正确结果。不过这不影响大家解这个问题。

编辑于 2018-06-11

文章被以下专栏收录

    讨论算法设计与分析(串行算法,分布式算法等)相关的理论、技术、教学、历史、文化及其它周边内容