《编程之美》第2版勘误表

原创
2016-06-07 15:49:26772浏览

14. 第139页,倒数第14行( 感谢:网友 1229david ) 原文:每个元素h[i],它的父亲结点是 h[i/2] ,儿子结点是是h[2*i+1]和h[2*i+2]。 改为:每个元素h[i],它的父亲结点是 h[(i-1)/2] ,儿子结点是是h[2*i+1]和h[2*i+2]。 15. 第149页 (感谢 : 网友朱静

14. 第139页,倒数第14行(感谢:网友1229david

原文:“每个元素h[i],它的父亲结点是h[i/2],儿子结点是是h[2*i+1]和h[2*i+2]。”
改为:“每个元素h[i],它的父亲结点是h[(i-1)/2],儿子结点是是h[2*i+1]和h[2*i+2]。”

15. 第149页(感谢网友朱静)

原文:

f(42,30)=f(1010102, 111102)

= 2 * f(101012, 11112)

18. 代码清单3-1(感谢网友朱静)

原文:

if(strstr(src, des) == 0)
{
return (true);
}

修改:

if(strstr(src,des)!=NULL)
{
return (true);
}

= 2 * f(11112, 1102)

= 2 * f(11112, 112)

= 2 * f(11002, 112)

= 2 * f(112,112)

= 2 * f(02,112)

= 2 * 112

= 6

改为:

f(42,30)=f(1010102, 111102)

= 2 * f(101012, 11112)

= 2 * f(11112, 1102)

= 2 * f(11112, 112)

= 2 * f(112,11002)

= 2 * f(112,112)

= 2 * f(112,02)

= 2 * 112

= 6

16. 第173页,倒数第5行(感谢jinlingmin0624

原文:先排序再二分查找固然可以将时间从O(N2)缩短到O(Log2N),但是还有更快的查找方法:hash表。

修改:先排序再二分查找固然可以将时间从O(N2)缩短到O(N*log2N),但是还有更快的查找方法:hash表。

17. 第200页,代码清单2-37(感谢:网友chuncl

原文:

for(k = 1; k <= 2 * n; k++)
{
for(i = 1; (i <= k && i <= n); i++)
for(v = 1; v <= Sum / 2; v++)
if(v >= arr[k] && isOK[i-1][v-arr[k]])
isOK[i][v] = true;
}
修改:
for(k = 1; k <= 2 * n; k++)
{
for(i = min(k, n); i>= 1; i--)
for(v = 1; v <= Sum / 2; v++)
if(v >= arr[k] && isOK[i-1][v-arr[k]])
isOK[i][v] = true;
}

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。