《数据结构与算法 :: Python语言描述》勘误表

(机械工业出版社,2016年1月出版)

第一次印刷(2016年1月)
第二次印刷(2016年7月)红字是第2次印刷后发现的错误。
第三次印刷(2016年11月)绿字是第3次印刷后发现的错误。
最新勘误(2018.11):84页,293,314,324
表中负数表示“倒数”的行数。

返回本书首页

页/行
2/11 检查测试阶段 检查编译阶段
4/21 实例将更好 实例能更好
7/10 由于上面算法中这几个分组 由于上面这几个分组
8/-2 传递给它…… 传给它
14/13 存储单元具体大小 存储单元的具体大小
17/-7 将只所用 将只使用
20/6 上三角线矩阵 上三角矩阵
21/16 list和tuple的元素访问和元素赋值 list 和 tuple 的元素访问,list 的元素赋值
57/-6 引进datatime 导入 datetime (注意是 date 不是 data)
60/21 报道 报到
61/14 在加上 再加上
77/16-21 在建立空表 ... O(1)。(至本段落结束) 创建空表时不分配元素存储区。遇到 insert 或 append 要求加入元素,系统第一次分配能容纳 4 个元素的存储区。继续扩容时采用的策略使每次扩容的比率趋近 1.125 倍。采用这样小的扩容比率,是为了避免在表中引进过多的空闲存储位置。前面讨论实际上说明,只要采用等比率扩容策略,就能保证尾端加入元素的 append 的平均时间复杂性为 O(1)。
78/17 I, j = ... i, j = ...
81/16 表头变量 head 的链表 表头变量为 head 的链表
81/-11 只有图中的链接指向…… 只有链接指向……
81/-6 q.next = head.next q.next = head
84/-4 所用
95/-8 q._next = p q.next = p
113/-4 (可能更多) (可能很多)
119/-13 构造模式对象时做好对象的... 构造模式对象,做好相应的...
121/19 一字符串集 一个字符串集
123/25-26
        if match_here(re, 1, text, 0):
            return 0
        return -1
124/-13 位于单、双引号…… 位于单引号和双引号
127/-11 总以010 可能以010
129/18 3+-5 3+ -5 【加减符号之间有个空格】
129/19 数值前面的字符串 找出表示数值的字符串
132/-15 由此受到 因此受到
143/注 可以判断别每个 可以判断每个
148/6 while line[i].isspace(): while i < llen and line[i].isspace():
150/5 删去最后的 TT
175/6 m - 1 n + 1
175/-16 右图下 右图上
175/-7 右图 右图下
193/12 规模更小同一问题 规模更小的同一个问题
204/16 假定t的实际参数 假定对应于t的实际参数
204/-3 n = qu.dequeue() t = qu.dequeue()
205/17 左枝下行 左分支下行
205/-16 与此 因此
213/10 两个、一个和三个 两个、一个和两个
224/-14 <vi, vj> 和 <vj, vi> (vi, vj) 和 (vj, vi)
225/23 始点或者终点 终点或者始点
226/15 从vi到vj连通并且从vj到vi也连通 从vi到vj以及从vj到vi都有路径
229 例7.8矩阵 第1行第2个元素应该是11,第2行第1个元素应该是 ∞
231 图7.7结点里的数字标号错误很多,正确的如右 a:2 3 1;b:0 4 6 3;c:0 5 3;d:0 1 2 6;

e:6 1;f:6 2;g:4 1 3 5

234/-15 i += 1 对齐
246/2-3 O(log|E|)<O(2×log|V|) O(log|E|)≤O(2×log|V|)
253/-15 Ak Ak
253/-3 A[i][k] A[k][j] Ak[i][k] Ak[k][j]
259图7.14 a13:6 a13:5
260图7.15 v1[7,14] v1[7,9]
261/-10 O(|V|) O(|E|)
262/-6 链接表 邻接表
262/-3 链接矩阵 邻接矩阵
272/-12 (公式中的) log2n log2n
276/-4 居于通用性 具有通用性
277/18 (6758172)10 (1211620)10
279/10 探查一步后存入位置11 探查两步后存入位置1
279/11 最后的25存入位置1 最后的25存入位置2
279图 图8.4 最下一图58改到位置1,25改到位置2
280/8 当随着 但随着
287/-19 一个参数异常 一个异常
289/11 大于它的根结点…… 大于根结点……
图8.7/8.8图题 二叉树排序树 二叉排序树
293/-1~-13 代码对齐排版错误 与前面while对齐
294/-17 检索完成后在实际插入 检索完成后再实际插入
294/-8 图6.7里的 图6.7和6.18里的
298/22 面对这种情况下 面对这种情况
299/9 T(0,3) T(0,2)
302/8 的分布情况 的检索分布情况
305/-14 对称性序列 对称序列
312/13 叶节点 叶结点
313/6 pi pi+1
313/-19 如果结点其中 如果结点中
314/图8.22 原图有误(前两个小图) 点击查看正确的图
317/2 c) …… 5. …… 【是第5题】
320/-5 考虑关键码称为 考虑的关键码称为
321/-18 以此数据序列 因此数据序列
323/18 处理了一个元素...延伸位置。 处理一个元素时留下一个空位,该空位与已排序段相邻,可以直接用作该段的延伸。
324/-14 lst[j-1].key > x.key lst[j-1].key >= x.key
326/-1 原位排序算法 原地排序算法
334 merge函数体第一行 m 改为 mid
337/13-14 r d
338/13 空间复杂性 时间复杂性
感谢华章出版社编辑,读者贾鑫、袁亮、吕迪迪,以及不知名的网友指出书中的错误。
如果发现书中的其他错误,请与我联系。谢谢!
EMAIL:qzy@math.pku.edu.cn
通讯地址:100871,北京大学数学学院信息科学系
 
2019.7.10