Error Information for Data Structures and Algorithm Analysis in C++ (2/e)
Errata
Here is the
errata list for Data Structures
and Algorithm Analysis in C++ (2/e), by Mark Allen Weiss.
Some of the errors affect the source code; updates
to the code are done automatically.
Click here to report a new error.
I'm very backlogged on these.
Please be patient for a reply. Thanks!
Second and higher printing
DATE PAGE WHO PROBLEM
-------- --- --- ----------------------------------------------------------
10/07/01 009 XB Near end of first paragraph, change "any value of n" to
"any nonegative value of n"
08/04/99 018 TA Paragraph 2, line 3, change "copied with ==" to "copied with =".
09/04/01 020 TO Line 12, change Section 1.4.2 to Section 1.4.3.
03/20/99 024 MAW End of second line of operator= subsection: change "that" to "the"
02/04/03 029 AL Line 5, change "arr" to "arr1".
09/26/01 071 MAW In first full paragraph, the statement that "arrays are generally
not used to implement lists" is incorrect (e.g. vector)
and should be replaced with "simple arrays are not
apprpriate in some situations".
01/27/01 078 MAW Line 1, paragraph 2, change "Insert" to "insert".
01/27/01 078 DC In paragraph 3, add a remark that remove could be done
in O(1) if we add a routine along the lines of remove(ListIterator prior).
02/08/00 083 AH Figure 3.24: Literal needs to define operator!=
07/14/00 090 MJ IN the last figure, change "Rear" to "back" and "Front" to "front"
01/24/99 095 FSV (Clarification) The standard would suggest that the technique
described in paragraph 4 is legal, and that Borland 5.0 is wrong.
02/16/99 097 MAW Figure 3.45: remove "new" immediately after "throw"
11/09/01 100 WH Line 22, "Figure 3.4" should be "Figure 3.49"
02/16/99 102 MAW Figure 3.53: remove "new" immediately after "throw"
07/14/04 109 CS In the middle of the page, change "line 3 to line 4"
07/14/04 112 CS Change "error calls" to "error checks"
11/05/02 127 BT First line Sec 4.2.1, change "tree has at most" to
"tree node has at most"
04/17/99 138 SH In the two-children case, the recursive call to
remove should have t->element as a parameter instead of x.
12/01/99 144 AS Change .328 to 1.328.
07/16/01 152 TO In second to last sentence, change "rotateWithLeftChild is"
DL to "rotateWithRightChild is"
07/14/04 155 AS2 In Sec 4.5, paragraph 2, line 2, change "as long at it" to "
as long as it"
03/27/99 166 DH Line 24, item 5, change "L children" to L "data items"
04/06/99 167 DH Line 15, change "first level could " to "next level could"
02/19/99 172 DM In Exercise 4.10, mention that N is the number of nodes
11/13/99 185 WB Last sentence of next to last paragraph, change "would be
recognized." to ">> would be recognized as the token."
02/04/03 185 DS In the last sentence, change "explicitly implement
list the copy constructor" to "explicitly list the copy constructor"
11/13/99 186 WB In Figure 5.7, since name is private, the hash function
should either be a friend or use a public accessor, such as
item.getName( );
07/14/04 226 AS2 In Secion 6.6, line 2, change O(N) to o(N).
01/31/05 278 CS Line 1, change (7.7) to (7.8)
01/31/05 282 CS Line 14, change "Suprisingly" to "Surprisingly"
01/31/05 291 CS In the second table, change "51" to "41"
03/29/01 297 GS In Exercise 7.21 (b), change "nondistinct" to "distinct".
04/17/99 287 KQ Remove "insertion" from caption in Figure 7.20.
07/14/04 314 MR In first paragraph after the definition of alpha(M,N),
change "grows slower then" to "grows slower than"
11/21/01 331 WH In Figure 9.5, change "find...DegreeZero" to "find...IndegreeZero"
11/06/02 332 DL Line 22, change "all edges adjacent to v" to
"all vertices adjacent to v"
01/10/02 339 MC In Figure 9.18, change "Psuedocode" to "Pseudocode"
07/14/04 371 KE Change "visits I and J" to visits "J and I"
09/13/02 403 DM2 In paragraph 2, replace "this bound is tight" with
"this ratio, 2, is tight"
07/02/02 407 ??? In the first oval it says x1=0, x5=10 but
it should say x1=0, x6=10
11/27/01 414 GO In Figure 10.33, change "coordinates differ"
to "y-coordinates differ"
07/14/04 453 CA Not an error... but note that leaf node with value 68 can
also be pruned from the game tree, with the predecessors at
ply 4, 3, and 2 returning 50. This figure was not intended
to show all possible pruning; just some examples.
07/14/04 455 TG On line in Fig 10.73, the call is findHumanMove(dc,value,beta);
07/14/04 497 KE Change "it wil contain the root of the right tree at
the end" to "... left tree ..."
01/31/01 505 TS In second paragraph of Sec 12.2.2, add remark that if X is the root,
after the color flip, it will be red, but can be
made black immediately to restore property 2.
12/18/00 498 DF Change second "zig-zag" to "zig-zig"
09/11/99 551 MAW There is no accessor version of operator[] for map.
10/27/99 574 I&G operator>> and getline should not need to assume
a limit of MAX_LENGTH and a different version
is provided in the source code for another book
(Data Structures and Problem Solving Using C++, 2/e).
If we stick with this version, both routines have
a technical bug: if the read fails, we still
attempt to use buf, even though it is uninitialized.
An easy fix is to add this test to the code.
09/04/00 568/9 JW Microsoft seems to have a bug that delete[] on
a zero-length array crashes if the arrays contains
objects with virtual destructors.
First printing
DATE PAGE WHO PROBLEM
-------- --- --- ----------------------------------------------------------
12/09/98 025 MAW The description of the default initializer list for
a copy constructor that is provided is wrong. The
correct description is that the copy constructor
in Fig 1.13 has initializer lists that call the
zero parameter, rather than the copy constructors
of the data members.
11/11/98 026 MAW In Figure 1.14, remove the semicolons at the end of the
declarations for read and write
12/09/98 185 MAW In Fig 5.6, need to add initialization of theLists
to the initializer list. See the online code.
12/09/98 193 MAW In Fig 5.14, need to add initialization of currentSize
and array to the initializer list. See the online code.
Credits
CA Chris Abrams
TA Thomas Anastasio
WB Wei Bai
XB Xuan Baldauf
DC Donald Chinn
MC Marco Cova
KE Kjell Ellingsen
DF David Fu
TG Tommaso Galleri
DH Dennis Hamilton
SH Sharon Harvey
WH Weseung Hwang
AH Alexander Hinds
MJ Matt Johnson
AL Adam Lee
DL Dan Lee
I&G Ireneusz Lidwa and Greg Menke
DM Dylan McNamee
DM2 Doug McIlroy
TO Tim Oates
PO Phil Osborne
GO Greg Ozbirn
KQ Ke Qiu
MR Matthew Renzelmann
AS2 Ashish Sabharwal
CS Chen Shuo
DS Duncan Smith
TS Tim Snyder
AS Ari Stern
GS Gary Sutton
BT Bob Toltzis
FSV Faisal Sabir Vali
JW Jeffrey Walton
Printing History
First Printing: November 1998
You can see which printing you have by looking at
the bottom of the copyright page for a sequence of numbers.
If you see
1 2 3 4 5 6 7 8 9 10
you have the first printing.