Error Information for Data Structures and Algorithm Analysis in C++ (4/e)


Here is the errata list for Data Structures and Algorithm Analysis in C++ (4/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!

First printing

--------  ---  ---  ----------------------------------------------------------
06/11/15  023  PE   In the first sentence after the code fragment, remove &x from the
                    list of lvalues.
12/06/14  028  AV   In first sentence of last paragraph, change "call-by-value"
                    to "return-by-value"
09/23/15  029  ZH   Line 11 of the first paragraph of section 1.5.5i, change "in to y" to "in to x"
06/14/15  032  PE   After line 22, clarify that the chaining would not be allowed
                    if the return type was void.
02/26/17  045  AB   Line 17, the constructor parameter should be passed by constant reference
02/08/19  049  RY   In reference 15, change the author to "Stroustrup"
01/29/15  056  RM   Line -8, change "nearly 9,000 seconds (or two and a half hours) to
                    "nearly 90,000 seconds (or one day)"
07/01/15  068  ZD   Change "finishes with high-low >= -1" to "maintains the invariant that high-low >= -1
11/06/17  069  HG   Line 14, change "only seven operations were performed" to
                    "only five mod operations were performed"
02/01/16  074  TF   Exercise 2.21, change "the algorithm terminates" to "the algorithm terminates
                    after remaining uncrossed numbers are output"
03/14/16  089  ZH   One line 4, the parenthetical remark beginning "(the +1 is used..."
                    should refer to the push_back routines in Figure 3.8.
12/07/14  093  AV   In line 13 from bottom, erase(-end()) should be erase(--end()).
09/24/14  124  US   In Figure 4.5 (and then 4.7, 4.8, 4.10), folder cop3212
                    inadvertantly has two identical named directories (fall).
                    Change the second "fall" to "spring".
06/13/17  199  DS   Figure 5.8, line 11, add a closing parenthesis after the ;
04/14/15  207  MM   In Figure 5.17, currentSize, which represents the number of
                    active+deleted items should only be incremented if the inserted
                    item does not replace an item marked as deleted.  There are
                    several simple ways to fix that.  The easiest fix is to remove
                    the ++ at line 12, and instead add at line 6:
                         if( array[ currentPos ].info != DELETED ) ++currentSize;
04/28/22  213  AN   In Theorem 5.2, change "no bin" to "some bin".
03/22/19  216  GO   On line 6, change "available locations" to "valid locations"
03/22/19  233  GO   Caption for Figure 5.51 should replace simple with Carter-Wegman
08/13/17  276  ZW   "rank" is not defined prior to use.  In binomial queues,
                    it represents the number of children of the root
09/17/14  287  BQ   Exercise 6.35(b), change "smaller tree" to "smaller queue" 
05/09/21  296  OS   In the first paragraph after Thm 7.2, remove "and selection
06/21/19  296  SF   Should clarify that the increments in Figure 7.5 are not related to the subsequent
                    code in Figure 7.6.
02/26/18  341  JYC  The run construction example in Figure 7.28 does not exactly
                    match the prior small example as it omits 75 from the input sequence
12/10/15  356  PE   Line 5, s{numElements, -1} should read s(numElements, -1)
                    to invoke the two-parameter vector constructor
12/27/21  367  GO   In the proof of lemma 8.3 cases 1 and 2 are swapped.
09/17/14  411  MAW  Four lines from bottom, add a sentence prior to "But that means that..."
                    The new sentence is "Because there are no edges going from
                    s's side of the cut to t's side of the cut in Gr, there is also no
                    backflow across the cut either."
05/10/21  425  JSO  In Figure 9.68, because marking is already done,
                    replace the forward edge test with
                       if( w.parent == v )  // forward edge
05/09/21  510  GO   On code lines 4 and 13 add "in the right quantity"
06/24/13  568  GO   At the end of Section 12.2.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.


AB   Agost Biro
AN   Abhijit Nandy
AV   Alberto Verdejo
BQ   Brian Quanz
DS   Dendi Suhubdy
HG   Huaien Guo
JSO  Joaquin Silveira Ocampo
JYC  Jason Yu Chen
MM   Mario Marchand
OS   Oren Steinberg
PE   Paul Epstein
RM   Ruth Mazureko
RY   Risin Young
SF   Satchel Frost
TF   Trevor Fancher
US   Uday Singh
ZD   Zhanrong Du
ZH   Zhang Hongyuan
ZW   Zhu Wensi

Printing History

First Printing: June 2013
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.