Error Information for Data Structures and Problem Solving Using C++ (2/e)


Here is the errata list for Data Structures and Problem Solving Using 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.

Note: this book was written in the late 1990s.  There
have been changes to C++ that break some of the code.
Please see the source code listing which has attempted
to update the code a little.

I'm very backlogged on these.
Please be patient for a reply. Thanks!

Later printing

--------  ---  ---  ----------------------------------------------------------
01/29/02   28  PHL  Line 4, change "the Chapter 2" to "Chapter 2"
01/29/02   32  PHL  Line 2, change "an item" to "a song" or "a track"
01/29/02   48  PHL  Top margin note, change "paremeters" to "parameters"
02/04/03   49  MW3  Line 2, "maintainance" should be spelled "maintenance"
01/29/02   67  PHL  Line 4, close parentheses is in a bad font.
01/08/13   67  JWH  :: also cannot be overloaded; see Appendix B.
01/03/13   68  JWH  Line 25, "privte" should be "private"
01/08/13   72  JWH  Sec 2.5, para 2, line 2, change "not a reasonable" to "not reasonable"
01/29/02   81  PHL  Line 1/2, change "constant reference" to "value"
                    and then "value" to "reference"
01/29/02  103  PHL  The linker error occurs if there is a declaration,
                    but no implementation (i.e. there's a prototype).
                    If there is no declaration, it's a compiler error.
01/29/02  104  PHL  Change "Section 2.3" to "Section 2.2.3"
07/07/02  105  MA   In paragraph 4, change "Figure 3.9" to "Figure 3.8"
01/29/02  108  PHL  Somewhere at the end of Sec 3.4.2, add a note
                    describing the call at line 15, in Fig 3.14
                    as invoking operator=.
01/29/02  115  PHL  Common error #3 has another bad font.
01/29/02  116  PHL  In FuncTemplates.cpp description, change
                    "funcion" to "function"
01/17/02  148  PK   Second line of 3rd bullet in Sec 4.5, remove "that".
01/29/02  163  PHL  Change "Figure 9.9" to "Figure 9.23"
01/29/02  166  PHL  Last line, change "rhs.pointee.release()" to "rhs.release()"
01/29/02  168  PHL  Line 12, change "different" to "same"
01/29/02  175  PHL  Add comment at line 34:
                       // Repeated to demonstrate itr.reset()
01/29/02  177  PHL  Line 2 of main text, delete extraneous colon.
07/02/02  186  JLS  Line 12, change "AutoPointer.cpp" to "AutoPtr.cpp"
01/29/02  205  PHL  Line 6 of main text, change "large" to "larger"
01/29/02  214  PHL  Line 14, change "telephone book" to "typical telephone book"
06/01/07  216  SA   In the bound for the number of iterations and comparisons
                       for the revised binary search, replace the floor
                       function with the ceiling function.
01/03/13  223  JWH  Line 5, change "maximum subsequence" to "maximum contiguous subsequence"
02/22/13  228  JWH  Excercise 6.28, change "proram" to "program"
06/08/01  267  MAW  There is a missing parenthesis after 0 <= k <= 4
02/04/03  273  MW2  In second margin node, change "the calls" to "then calls"
10/31/11  286  WC   In Figure 8.16, if x=n=0 and p=1, should return 0, in spite of comment
02/27/02  291  CA   Line 15, add "=1" after "gcd(e,N')"
02/04/03  317  NTD  In Exercise 8.30, change ij.
06/08/01  349  MAW  First paragraph, change "analysist" to "analysis"
01/10/02  384  AN   Exercise 10.10 has the wrong solution. See
07/13/04  385  RH   In Exercise 10.14, change a "u" to the Greek letter "mu".
06/08/01  490  MAW  V6 needs italics
08/26/03  515  DS   Fig 15.28, line 44, missing a closing brace for the outmost loop
11/27/01  516  KH   Line 5, change "three" to "four"
12/21/10  626       Figure 18.26 and the code use "0, 1, 2" numbering, but
                    the description uses "1, 2, 3" and these should be made consistent.
02/04/03  639  AB   Exercise 18.12(c) change "can you" to "you can"
06/24/13  674  GO   At the end of Section 19.5.1 add a sentence: "Note that
                    in this last case, we can simplify because the color flip
                    by itself, without the rotation, yields equivalent
                    behavior; most importantly, either way, we would still
                    need to percolate up toward the root.
06/08/01  676  MAW  Second paragraph, change "scrat-h" to "scratch"
08/26/03  711  HM   In the second paragraph, change "625,500" to "625,000"
02/04/03  729  HM   Line 7, change key.charAt(i) to key[i]
06/08/01  748  MAW  Under "lazy deletion", change "tabale" to "table"
07/13/04  752  RH   In Exercise 20.23, change "legal basic program" to "legal BASIC program"
06/08/01  775  MAW  Change font for "toss" to not be monospace
06/08/01  783  MAW  In F(k)(N), the () are missing around N.
06/08/01  836  MAW  In Figure 23.13, at top, change F<=S to F>S
06/08/01  868  MAW  In next-to-last paragraph, change "dividind" to "dividing"
01/29/02  I3   PHL  Add: caching, 346
03/22/02  I8   MW   The entry "intializer lists" should be part of
                    "initializer list"
10/17/01  BC   PHL  Top line of back-cover copy should say C++, not Java.

First printing

--------  ---  ---  ----------------------------------------------------------
11/22/00   24   RL  Line 20: "illustrtes" should be "illustrates"
03/26/00   55   SH  Figure 2.8, line 7 and 9, remove extra ';'
08/26/03   57   CM  Seven lines from bottom, change "explicit" to "implicit"
03/27/00   64   DG  Figure 2.15, line 1 (and in general throughout the text)
                    In spite of the logic for making operator= return a constant
                    reference, the Standard suggests that operator= should
                    return a reference rather than a constant reference in order
                    to guarantee that it will work with standard containers.
                    (see Table 64 (23.1.4)). I do not know of any STL
                    implementations that require this distinction.
03/26/00   68       Change "privte" to "private"
09/04/00  109   JW  Microsoft seems to have a bug that delete[] on
          110       a zero-length array crashes if the arrays contains
                    objects with virtual destructors. Simplest fix
                    is to insure internal capacity is never 0.
03/26/00  132   PH  Fourth paragraph, change "base class constructor" to
                    "base class destructor"
11/22/00  164   AC  Pointer<int. is missing >
03/26/00  328   PT  Change sum h_k to sum 1 / h_k
12/05/00  517   SG  Line 9-11: adding two to simulate leaving the
                    queue doesn't work, occasionally reporting false cycles
12/05/00  518   SG  Line 33, change ++ to --.
12/01/00  654   BZ  Caption for Fig 19.14 should say "BinarySearchTreeWithRank"
10/24/00  666   AC  Fix captions for Fig 19.26 by swapping before/after
12/05/00  669   BZ  Caption for Fig 19.31 should say "Right-left"
01/31/01  674   TS  In second paragraph, 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.
11/29/00  761       Line 13, remove +1 in initializer for theSize
11/25/00  777   AC  Figure 21.31, line 5, change "length" to "size"
03/26/00  801       Caption for Fig 22.7, remove "and a zig"


CA   Claude Anderson
SA   Sven Anderson
MA   Mohit Arora
AB   Andrew Boese
WC   Weiwei Cheng
DG   Dale Gerdemann
AC   Albert Chung
NTD  Nguyen Thao Dan
SG   Sumanta Guha
SH   Shoujie He
BH   Brett Heath
KH   Keld Helsgaun
JWH  JW Hoag
RH   Rodney Hoffman
PH   Peleg Holzmann
PK   Philip Kahler
PHL  Patrick H. Lee
RL   Richard Lueck
HM   Hidetoshi Mino
CM   Clive Munro
AN   Anders Nielsen
GO   Greg Ozbirn
DS   Darren Siegel
TS   Tim Snyder
JLS  Joseph L. Steffen
PT   Prasad Tadepalli
JW   Jeffery Walton
MW2  Matthew Weinstock
MW3  Mark Wojtowicz
MW   Michael Wood
BZ   Brandon Zarzoza

Printing History

First Printing: November 1999
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.