《大话数据结构》简体中文版勘误
? ? ? 盡管已經很仔細的檢查和審核,但錯誤還是沒有能避免。以下的錯誤,有些是作者的筆誤或者表述不清,有些是編輯審稿時不理解造成的錯誤,有些是美編改圖時的錯誤,有些是印刷廠印刷時的錯誤。雖然出錯的原因很多,但總的來說都會給讀者閱讀時造成困擾,所以再次向讀者說一聲對不起!并請讀者時常關注本博文,以便可以獲得最新的勘誤信息。現勘誤如下:
注:★★★、★★和★為建議馬上修改,它們之間程度不同,沒有星為可改可不改,不影響閱讀。
第一次印刷:
1.01★ P38,倒數第二行,“速度其實只提高了10”,后面增加一個“倍”字。
1.02 P111,第三段,第二行,“打算了Reset時”,多了一個“了”字。目錄P15,同樣的問題。
1.03★★★ P268,P269,圖7-7-14,圖7-7-15,圖7-7-16橫豎條中都是有符號或數字的,目前因印刷問題沒有顯示。
1.04 P377 “時間性能”這一段中 "事實上,移動可以通過改為記錄的存儲方式來予以避免" ,其中“改為”應該是“改變”
1.05★★ P35,第一行,有一個“+”號應該是“=”,見下圖
第二次印刷:
2.01 P383,代碼第6行,“ for(i=1;i<L->length && flag; i++)? /*若flag為true則退出循環*/” 其中注釋應該改為“/* 若flag為true說明有過數據交換,否則停止循環 */”(?My Blogs?提供)
2.02 P20,代碼中“int i,sum =0, n = 100;”中的"i,"是多余的,可以刪除,因為沒有用到i變量。(?AGPSky?提供)
2.03 P43,圖3-2-2,在天秤和射手之間,少了一個“天蝎座”。?(?小老K?提供)
2.04 P58,圖3-6-5,左側第三條,“頭指針均不為空”應該改為“頭指針均存在” (?小老K?提供)
2.05★★ P58,圖3-6-4和圖3-6-6,兩圖中“頭指針”改為“后繼指針地址”。圖3-6-6,“0900”應該改為“NULL” (?小老K?提供)
2.06 P60,中間編號1后面,“聲明一個結點p”改為“聲明一指針p”。下方代碼中第6行,“/*聲明一結點p*/”應該改為“/*聲明一指針p*/”。(?小老K?提供)
2.07 P64,第一句:“用來存放e數據s結點。”,將“e數據s結點"改成“數據e的s結點” (?小老K?提供)
2.08?P71,倒數第三段第三行,“而游標cur相當于單鏈表中的next指針,存放該元素的后繼在數組中的下標。”,將“游標”兩字刪除,并在句子最后句號前增加一句:“,我們把cur叫做游標。”?(?小老K?提供)
2.09 P105,第五段第二行,“只有碰到左括號”改為“只要碰到左括號”。 (?小老K?提供)
2.10 P105,第五段最后一行,“最終再因全部匹配成功后成為空棧的結果。”,將“的結果”刪除。(?小老K?提供)
2.11★★ P109,第6條,將第一個句號前的句子與第二個句號前的句子對調。結果為“緊接著是符號"X",因為此時的棧頂符號……因此不輸出,"*"進棧。接著是數字3,輸出,總的表達式為931-3。”(?小老K?提供)
2.12★ P126,第三段倒數第二行,“表示216個字符”,“216”應該改為“216”(strider?提供)
2.13★★ P137,第四段第一行,“假設S="abcabcabc",”,其中的字符串S應該是“abcababca”。圖5-7-4和圖5-7-5的第①圖,都應該改為下圖所示。(strider?提供)
2.14★ P138,倒數第二段第二行,“而圖5-7-4中,”改為“而圖5-7-5中,”。(strider??秦萌?提供)
2.15★?P144,5.7.5小節中第1號小標題中:“先計算出next數組的值分別為001234223”,應改為011234223”。(strider?提供)
2.16★?P145,9)"當j=9時,next值為3,.....因此nextval[9]=nextval[3]=1" 最后的“1”應改為“0”。(strider?提供)
2.17 P153,6.2.3節第一段第三行,“而G、H、I、J也是。”,應該改為“而G、H、I與J也是堂兄弟。” (康凱 提供)
2.18?P155,6.4.1小節第二段第二行:“其雙親結點到鏈表中的位置”應改為“其雙親結點在數組中的位置”。(strider?提供)
2.19★ P157,表6-4-3的數據第一行 A的firstchild 應該是 1 不是 -1。(?小老K?提供)
2.20★ P169,6.6.2 二叉樹性質2的第四段,“如果有一層,至多1=20-1個結點”,應該是“21-1個結點”。(康凱 提供)
2.21★ P170,倒數第二段第二行,“倒推得到滿二叉樹的度數為”,其中“度數”改為“深度”,第三行,“度為4”,應該改為“深度為4”。(?小老K?提供)
2.22★ P171,第一行“等于同樣的度數”,“度數”改為“深度”;第四行,“而k作為度數也是整數”,“度數”改為“深度”;圖6-6-2上面一段,“這是一個完全二叉樹,度為4”,“度為4”改為“深度為4”。(?小老K?提供)
2.23 P199,5~6行 “比如圖6-11-4中最右側的樹”,將“最右側”改為“右下方”。倒數3~4行 “比如圖6-11-5右側三棵樹的森林”,將“右側”改為“下面”。P200 第一行 “6-11-5右側三棵樹的森林”,“右側”改為“下面”。(?小老K?提供)
2.24★ P200,第二行,“我們對圖6-11-4的左側二叉樹”,“6-11-4”改為“6-11-5”。(?小老K?提供)
2.25 P203,第一行,“我們先把這兩棵二叉樹簡化成葉子結點帶權的二叉樹”,應該加“注:樹結點間的邊相關的數叫做權(Weight)”。(?小老K?提供)
2.26 P203,第三段第四行,“每個葉子的路徑長度為lk”,其中"lk"應該改為“lk”,即k是下標。(?小老K?提供)
2.27 P218,倒數第二段第一行,“圖7-2-9中的左側”,其中“左側”改為“上方”,后面的“右側兩條路徑長度為3”,其中“右側”改為“下方”。(?小老K?提供)
2.28★ P219,中間一段第二行,“兩個頂點vi、vj∈E,”,這里“E”應該改成“V” (咖啡崽?提供)
2.29★ P220,倒數第二行,“在存在”,應該改成“不存在”。(咖啡崽?提供)
2.30★★ P220,圖7-2-13的圖1和圖2,頂點A與頂點B之間的箭頭都畫反了。(咖啡崽?提供)
2.31★★★ P338,圖8-7-10,圖中有小錯誤,且圖形過于繁瑣,不利于讀者理解,因此做比較大的修改如下圖。(康凱 提供)
2.32 P52,代碼中間部分,“for(k=L>length-1;k>=i-1;k--”后面少了一個“)”。(蕭蕭Leo?提供)
2.33 P95,第二行 “另一個棧為棧的末端”?應該改成“另一個棧為數組的末端”。(?AGPSky?提供)
2.34 P248,倒數第六行,“arjvex”應該為“adjvex”。(蕭蕭Leo?提供)
2.35★ P263,第8小節,“此時i=2。”改成“此時v=2。”。P264,第11小節,“此時i=3。”改成“此時v=3。”(蕭蕭Leo?提供)
2.36★ P260-P261,書中代碼“matirx”都應該改為“matrix”(一共有五處修改,分別是P260倒數第三行,P261,代碼1、8、27、29行)。在提供下載的代碼中,統一將matrix修改成了arc。(蕭蕭Leo?提供)
2.37★★ P285,倒數第四行,公式中“min{ltv[j]+len……”,中“+”應該是“-”(蕭蕭Leo?提供)
2.38★★ P81,第一行代碼,“rearB->next=p; free(p);” 應該在這兩句上方加一句“q=rearB->next; ”(即在四句代碼的中間增加一句),并修改最后的“free(p);"為“free(q);?/*釋放q*/?” (siatliuliu1?提供)
2.39 P26,倒數第四行最后,“運算100次是運算10次的100”,應該是“運算10次的1000”。(laciqs?提供)
2.40★★★ P46,union代碼,有不少的問題,修正如下圖。union是C語言的關鍵字,因此函數名增加一個L。具體實現代碼,請參見源代碼中的“01線性表順序存儲_List.c”文件(laciqs?提供)
2.41 P59,倒數第五行,“結點由存放數據元素的數據域”后面加一個“和”字。
以下2011-8-23更新
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。(黑洞熵?提供)
以下2011-8-25更新
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”。(黑洞熵?提供)
以下2011-8-30更新
2.49★ P375,第二段第三行,“(非遞減或非遞增)關系”,是應該寫成“非遞減(或非遞增)關系”。(黑洞熵?提供)
以下2011-9-1更新
2.50★ P76,第一段第二行,“j=k[999].cur=1",應該將“k"修改為“L”。(Mark1940?提供)
2.51★?P387,第3條最后一行 “L.r[j-1]=L.r[j] ”應該是“L.r[j+1]=L.r[j]” (蕭蕭Leo?提供)?
以下2011-9-2更新
2.52?P57,第6行,"元素ai的存儲映像,稱為節點"中的i應該是a的下標.(Jeallyn?提供)
以下2011-9-7更新
2.53★ P319,代碼下第一段第一行,"InsertBST(T,93)"應該是"InsertBST(&T,93)",第二行,"InsertBST(T,95)"應該是"InsertBST(&T,95)" (ff22?提供)
以下2011-9-21更新
2.54 P398,中間一段,堆排序定義的倒數第二行,“這樣就會得到n個元素中的次小值”,其中“次小”應該改為“次大”。(ff22?提供)
以下2011-10-8更新
2.55 P235,圖7-4-11,V1點的陰影應該改為V2 ,修改結果見下圖(盲劍客?提供)
以下2011-10-18更新
2.56 P339★,代碼第22行,"if (taller)",應該改為"if (*taller)"。本書提供的源代碼也有相同錯誤,已經做了修改。(Jakson?提供)
2.57 P158,圖6-4-2,每個結點末尾都多畫了一個指針域(即應該有四個方格卻畫了五個),應該要去掉,如下圖。(孟倩 提供)
以下為第三次印刷還遺留的錯誤
以下2011-11-09更新
3.01 P329,倒數第二行,“結點58的左子樹高度為2,”其中2應該改為3。(?小墨的童鞋?提供)
3.02 P330★,中間一段,“(即它的左子樹高度2減去右子樹高度0)”,應該改為“(即它的左子樹高度3減去右子樹高度1)”。然后圖8-7-3在結點58的右側增加一個60的結點,如下圖。(?小墨的童鞋?提供)
以下2011-11-14更新
3.03 P194,中間第3條,"第7~8行,whild(p!=T)",其中"whild"應該改為"while"。(小老k 提供)
3.04 P251 第三行 “假設 N=(P,{E}) .....” 改為“假設 N=(V,{E}) .....” (小老k 提供)
以下2011-11-23更新
3.05 P126頁第三段倒數第二行,“65萬”改為“6.5萬”(somebodysssss?提供)
以下2011-12-05更新
3.06 P351,中間一段,有四處的└m/2┘都應該是 ┌m/2┐,見下圖。(?給你改錯?提供)
以下2011-12-07更新
3.07 P288,第二段第二行,“十字鏈表是鄰接矩陣的一種升級,而鄰接多重表則是鄰接表的升級。”,應該改為“十字鏈表是針對有向圖鄰接表結構的優化,鄰接多重表是針對無向圖鄰接表結構的優化。”(韋歡 提供)
以下2011-12-20更新
3.08 (本次改動僅限第三次印刷)P61,代碼第三行,"if (!p || j>=i)",請將“=”去掉。P63,代碼中間一行,,"if (!p || j>=i)",請將“=”去掉。P65,代碼中間一行,"if (!p || j>=i)",請將“=”去掉。(kenly2007?提供)
以下2012-01-09更新
3.09 P68 最后一行,"那么應該讓這個鏈表的指針域置空"?,其中“鏈表”應該改為“節點”。(落崖驚風 提供)
3.10 P138 最下方的公式,“且‘p1……k-1’”,在“k-1”的左側少了一個"p". (落崖驚風 提供)
以下2012-02-07更新
3.11 P108 倒數第四行最后一句,“是右括號或優先級低于”,其中“低于”改為“不高于”。(王天興 提供)
3.12 在源代碼中棧與隊列的DoubleStack.c中的兩個問題(目前源代碼已經修正,重新下載即可。書中講解并無錯誤):
問題1:
int StackLength(SqDoubleStack S)
{?
return (S.top1+1)+(MAXSIZE-1-S.top2);
}
中的語句return (S.top1+1)+(MAXSIZE-1-S.top2); 應該修改為 return (S.top1+1)+(MAXSIZE-S.top2);
問題2:
Status StackTraverse(SqDoubleStack S)
{
int i;
i=0;
while(i<=S.top1)
{
visit(S.data[i++]);
}
i=S.top2;
while(i<MAXSIZE)
{
visit(S.data[i++]);
}
printf("\n");
return OK;
}
中的語句 while(i<S.top1) 應該修改為 while(i<=S.top1) (閆豐 提供)
以下2012-02-13更新
3.14 P234 圖7-4-10 右下角那句“V2后再無V0的入邊頂點,所以其taillink為空” taillink應該是headlink (風碎月?提供)
以下2012-04-12更新
4.01 P188,第二段整段刪除,即“當然,你完全也可以……###DB##CA”這一段。原因在于,由于中序遍歷不能首先建立根結點,用加“#”的方法是不可能創建一個二叉樹的,后序遍歷在特定規則下可以見http://www.cnblogs.com/cj723/archive/2012/01/09/2316791.html#2372197。(貓□咪和??G-rated?提供)
以下2012-06-04更新
4.02 P52,代碼第8行,"if (i<1 || i>L->length+1)"當中的“+1”不需要,應該是"if (i<1 || i>L->length)"。(?csensix?提供)本處不需要修改,并沒有錯,詳細說明請看我提供的源代碼的注釋“/* 當i比第一位置小或者比最后一位置后一位置還要大時 */”
以下2012-06-25更新
p70,圖3-11-1,時間性能最后一個,“線出”應改為“找出”?(?Darker?提供)
以下2012-07-16更新
p261★★ 代碼第9行 “(*P)[v]=0 /*初始化路徑數組P為0 */” 將其中的0改為-1,即“(*P)[v]=-1 /*初始化路徑數組P為-1 */” 。這是因為當為0時本來表示沒有路徑,但卻和數組索引為0的編號重合,導致在一些特殊情況出現最短路徑計算錯誤,提供下載的代碼和測試代碼也做了修正,請下載查看。(伍迷 自提供)
以下2012-08-08更新
p103,圖4-8-3,當中的Fib都改為Fbi。本錯誤不算嚴重,可以不改。由于是對Fibonacci這個單詞的縮寫,Fbi或者Fib都是可以的。為了和代碼中的統一,特告知,后續印刷版本,會將這樣的小錯誤修正。(hefeijuan 提供)
以下2013-07-31更新
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也需要打補丁,所以希望您可以用類似打補丁的心態去查看勘誤修正錯誤。請您更多關注圖書的內容而不是錯誤本身。謝謝!
???? 感謝小老K?和strider的認真閱讀和指正,本人與他們溝通后,決定贈送他們每人一本簽名本《大話設計模式》留作紀念。也歡迎其他朋友多多給予指正和建議,只要提交足夠多的錯誤,本人都會考慮給予簽名贈書!
出處:http://www.cnblogs.com/cj723/archive/2011/06/26/2081574.html
總結
以上是生活随笔為你收集整理的《大话数据结构》简体中文版勘误的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《大话数据结构》第9章 排序 9.10
- 下一篇: 《大话数据结构》样章试读