Error Information for Data Structures and Algorithm Analysis in Java (2/e)

Errata

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

All errors

  DATE   PAGE  WHO  PROBLEM
--------  ---  ---  ----------------------------------------------------------
06/21/06  xvii EEO  The last word inthe third line should be "Chapter", not "Chap-ter"
09/26/06  024  BLS  Line 9 in Figure 1.18 should by cmp.compare not cmp.compareTo
06/01/07  029  KD   In Def 2.4, change "all constants c" to "all positive constants c"
11/06/06  036  EEO  In rule 3, replace "page 44" with "page 30"
06/21/06  058  EEO  The second line in the second paragraph should state that
                    the first element of the list is A0 (not AN as written)
10/16/07  064  GO   In last code fragment, need to return total before ending.
06/21/06  076  EEO  Paragraph 5, change "public inner" to "private inner"
06/21/06  077  EEO  Line 10 should refer to Figure 3.26, not Figure 3.25.
09/26/06  078  EEO  Caption for Fig 3.26 should have MyLinkedList instead of MyList
04/10/06  081  MAW  In the remove method, the okToRemove flag should be set
                    to false instead of true on line 31.
               EEO  Change line 30 to
                       MyLinkedList.this.remove( current.prev );
               EEO  After line 31, add a line:
                       expectedModCount++;
               EEO  Caption for Fig 3.32 should have MyLinkedList instead of MyList
10/18/07  081  DS   In later printings, line 19 was inadvertantly changed
                    in an attempt to fix the above error. The flag should
                    be set to true on line 19, and false on line 31.
06/21/06  080  EEO  getNode throws an exception if idx > size(), rather than
                    idx > size() - 1, but since it is called directly by
                    get, set, and remove( int idx ), all those routines fail
                    to throw an exception when the index is size(). The 
                    simplest fix is as follows: change getNode to accept
                    two additional parameters (lower and upper), to be
                    used in the test at line 11. Provide a second getNode
                    with only one parameter, that passes 0 and size() -1.
                    This will fix get, set, and remove. But it breaks add,
                    because size() is a valid index for add. Change add
                    to invoke the three-parameter getNode, with 0, and size()
                    as the lower and upper bounds. This fix is in the
                    revised online code.
02/07/06  108  MAW  First sentence of Sec 4.2.1, change "tree has at most"
                    to "tree node has at most"
09/26/06  114  EEO  Line 43, replace Figure 4.23 with Figure 4.25
11/06/06  115  EEO  Line 5 in Fig. 4.18:  replace "@return node containing the
                    matched item" by "@return true if the item is found, false
                    otherwise".
02/07/06  123  MAW  Next to last line, change .328 to 1.328.
08/01/06  124  PJV  Figure 4.30, the far right node at height 7 is missing its left child. 
02/07/06  132  MAW  Last occurrance, change "rotateWithLeftChild" to
                    "rotateWithRightChild"
02/07/06  135  MAW  In Sec 4.5, paragraph 2, line 2, change "as long at it" to
                    "as long as it"
02/07/06  147  MAW  Item 5, change "L children" to L "data items"
02/07/06  148  MAW  Line 9, change "first level could " to "next level could"
06/21/06  148  EEO  The last word in the fourth sentence in the third paragraph
                    should be "item", not "child".
10/16/07  153  GO   Four lines from the bottom, change "two characters" to "two words"
02/07/06  165  MAW  In Exercise 4.51 change "in a binary search tree" to
                    "in an N node binary search tree" (with N italicized)
09/26/06  175  EEO  In line 37 of Figure 5.9, replace "theSize" with "currentSize"
11/06/06  207  EEO  The caption for Fig. 6.8 should read "Procedure to insert
                    into a binary heap" instead of "Procedures to insert into
                    a binary heap".
09/26/06  257  HK   In heapsort, the loop at line 7 can start at a.size( ) / 2 - 1.
02/08/06  286  MAW  In Exercise 7.10, change "line 2" to "line 11" in two places.
06/21/06  300  EEO  In the second line from the bottom of the page, "tree" should
                    be replaced by "forest".
11/06/06  356  EEO  Figure 9.58:  replace "//Edge e = (u.v)" by "//Edge e = (u,v)".
06/01/07  356  EEO  In Figure 9.58, line 4, replace DisjSet with DisjSets

07/11/06  ???  MAW  At the end of Chapter 9, in the references, add the
                    following as the best deterministic minimum spanning tree algorithm:
                     Bernard Chazelle: A minimum spanning tree algorithm with
                     Inverse-Ackermann type complexity. J. ACM 47(6): 1028-1047 (2000)
02/08/06  459  MAW  Somehow in the typesetting, Exercise 10.58(a) was made into
                    10.59, Exercise 10.58 should have a, b, c, and then what is
                    typeset as Exercise 10.60, should be 10.59 and subsequent
                    exercises renumbered.

Credits

BLS   Barbara Li Santi
KD    Ketil Danielsen
EEO   Evelyn Obaid
GO    Greg Ozbirn
HK    Heinrich Kuettler
DS    Dominic Savoie
PJV   Peter J. van Wesep

Printing History

First Printing: March 2006
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.