尽管已经很仔细的检查和审核,但错误还是没有能避免。以下的错误,有些是作者的笔误或者表述不清,有些是编辑审稿时不理解造成的错误,有些是美编改图时的错误,有些是印刷厂印刷时的错误。虽然出错的原因很多,但总的来说都会给读者阅读时造成困扰,所以再次向读者说一声对不起!并请读者时常关注本博文,以便可以获得最新的勘误信息。现勘误如下:
注:★★★、★★和★为建议马上修改,它们之间程度不同,没有星为可改可不改,不影响阅读。
第一次印刷:
1.01★ P38,倒数第二行,“速度其实只提高了10”,后面增加一个“倍”字。
1.02 P111,第三段,第二行,“打算了Reset时”,多了一个“了”字。目录P15,同样的问题。
1.03★★★ P268,P269,图7-7-14,图7-7-15,图7-7-16横竖条中都是有符号或数字的,目前因印刷问题没有显示。
1.05★★ P35,第一行,有一个“+”号应该是“=”,见下图
第二次印刷:
2.17 P153,6.2.3节第一段第三行,“而G、H、I、J也是。”,应该改为“而G、H、I与J也是堂兄弟。” (康凯 提供)
2.20★ P169,6.6.2 二叉树性质2的第四段,“如果有一层,至多1=20-1个结点”,应该是“21-1个结点”。(康凯 提供)
2.31★★★ P338,图8-7-10,图中有小错误,且图形过于繁琐,不利于读者理解,因此做比较大的修改如下图。(康凯 提供)
2.38★★ P81,第一行代码,“rearB->next=p; free(p);” 应该在这两句上方加一句“q=rearB->next; ”(即在四句代码的中间增加一句),并修改最后的“free(p);"为“free(q); /*释放q*/ ” (siatliuliu1 提供)
2.41 P59,倒数第五行,“结点由存放数据元素的数据域”后面加一个“和”字。
2.42★ P216,图7-2-6,顶点B与顶点D缺少两根互为反向的连线。因为有向完全图的定义是任意两个顶点之间都存在方向互为相反的两条弧。(Zhangth 提供)
2.43★ P247。图7-6-3中邻接矩阵有些错误。 arc[v2][v1]应该是18, arc[v3][v6]和arc[v6][v3]都应该是24。 (Zhangth 提供)
2.44★ P330,图8-7-2,图1,删除叶子结点35和结点99。(黑洞熵 提供)
2.45 P285 第6小节,“ltv相对应的值为19、25、13”,三个数字的顺序应该是“19、13、25”。(黑洞熵 提供)
2.46 P332,第一行,“平衡因子没有发生改变”,改为“平衡因子没有超出限定范围(-1,0,1)”。 (黑洞熵 提供)
2.47★ P334,图8-7-8中的图15中结点7的BF值应该是-2而不是-1。(黑洞熵 提供)
2.48★ P347 第二段,情形二的第二行,“此时删除结点1”,修改为“此时删除结点4”。(黑洞熵 提供)
2.49★ P375,第二段第三行,“(非递减或非递增)关系”,是应该写成“非递减(或非递增)关系”。(黑洞熵 提供)
2.56 P339★,代码第22行,"if (taller)",应该改为"if (*taller)"。本书提供的源代码也有相同错误,已经做了修改。(Jakson 提供)
2.57 P158,图6-4-2,每个结点末尾都多画了一个指针域(即应该有四个方格却画了五个),应该要去掉,如下图。(孟倩 提供)
以下为第三次印刷还遗留的错误
3.03 P194,中间第3条,"第7~8行,whild(p!=T)",其中"whild"应该改为"while"。(小老k 提供)
3.04 P251 第三行 “假设 N=(P,{E}) .....” 改为“假设 N=(V,{E}) .....” (小老k 提供)
3.06 P351,中间一段,有四处的└m/2┘都应该是 ┌m/2┐,见下图。( 给你改错 提供)
3.07 P288,第二段第二行,“十字链表是邻接矩阵的一种升级,而邻接多重表则是邻接表的升级。”,应该改为“十字链表是针对有向图邻接表结构的优化,邻接多重表是针对无向图邻接表结构的优化。”(韦欢 提供)
3.09 P68 最后一行,"那么应该让这个链表的指针域置空" ,其中“链表”应该改为“节点”。(落崖惊风 提供)
3.10 P138 最下方的公式,“且‘p1……k-1’”,在“k-1”的左侧少了一个"p". (落崖惊风 提供)
3.11 P108 倒数第四行最后一句,“是右括号或优先级低于”,其中“低于”改为“不高于”。(王天兴 提供)
3.12 在源代码中栈与队列的DoubleStack.c中的两个问题(目前源代码已经修正,重新下载即可。书中讲解并无错误):
p261★★ 代码第9行 “(*P)[v]=0 /*初始化路径数组P为0 */” 将其中的0改为-1,即“(*P)[v]=-1 /*初始化路径数组P为-1 */” 。这是因为当为0时本来表示没有路径,但却和数组索引为0的编号重合,导致在一些特殊情况出现最短路径计算错误,提供下载的代码和测试代码也做了修正,请下载查看。(伍迷 自提供)
p103,图4-8-3,当中的Fib都改为Fbi。本错误不算严重,可以不改。由于是对Fibonacci这个单词的缩写,Fbi或者Fib都是可以的。为了和代码中的统一,特告知,后续印刷版本,会将这样的小错误修正。(hefeijuan 提供)
p153,图6-2-6上方段落第二行,"则其子树的根就在第l+1层","的根"两字去掉。(莫小峰来了 提供)
p175,第三段第二行,"简单地假定就是输出结点的数据信息",其中“简单地假定就是”改成"简单地假定访问就是"。(莫小峰来了 提供)
p205,右方的图中结点N1~N2少了权值15,N2~N3之间少了权值30,可参看左侧6-12-7的图。(莫小峰来了 提供)
p218,最后一段第一行,"第一个顶点到最后一个顶点",其中“到”改为"和"。(莫小峰来了 提供)
p249,第一段第二行,"arjvex"改为"adjvex"。(莫小峰来了 提供)
p255, 最后一段第一句,“最右图"改为"右下方的图"。(莫小峰来了 提供)
p266,第一段第二行, "P代表对应顶点的前驱矩阵",前驱矩阵是什么没解释,后增加一句“,用来存储路径”。(莫小峰来了 提供)
P388页,第7点第二段,“由于6、5、4、3都比2小,它们都将右移一位” 应该更正为“由于6、5、4、3都比2大,它们都将右移一位”。(禾鬥雨 提供)
————————————————————————————————————————————————————————
《大话数据结构》第三次印刷已将勘误中的错误修正,预计在2011年12月在各大网上书店中有售。再次向已经购买前两次印刷的读者说一声抱歉,给您要花时间修正错误添麻烦了,当然您们在花费二十多分钟的修改后就能尽早阅读本书,也算是有遗憾后值得欣慰的地方!
也希望读者可以理解,本书因为关注度比较高,所以出错后也会影响面比较大。作为作者,本人也有很大压力。其实任何书籍在刚出版时,都会有大大小小的错误,错误原因很多,有些图书没有勘误并不等于没有错误。所以尽管出版本书前,已经做了很大的努力,但还是没有避免错误的发生,现在重要的就是如何弥补错误,不要造成读者的阅读障碍。微软的Windows也需要打补丁,所以希望您可以用类似打补丁的心态去查看勘误修正错误。请您更多关注图书的内容而不是错误本身。谢谢!