Changes in Second Edition
Last update: October 15, 2001
Here is some pre-production information for the Second Edition
of Data Structures and Problem Solving Using Java.
Comments, and especially code fixes are welcome.
This text should be available on August 1.
Table of Contents
The complete TOC for the new edition (not including Appendices is available).
Downloads
Summary of Changes
Part I has a rewrite
-
ArrayList discussed in Chapter 2
-
There a significant
revision of the inheritance chapter,
with a Person hierarchy, a
simplified Shape example,
a discussion of the Object class, and
inheritance details (single dispatch).
Interfaces stay, but we use standard Comparable.
Insertion sort moves to the sorting chapter.
-
Additional material on Patterns is added.
- Composite discussed in Chapter 3.
- Wrappers and
Decorators (I/O) discussed in Chapter 4.
- Function objects, nested classes, and iterators
discussed in Collections chapter.
- Inner classes and ArrayList implementation (including material from
Collections chapter) moved to new chapter (Chapter 15) that
precedes Stacks/Queues in Part IV.
Code completely rewritten.
-
Code in Part III uses the Java 1.2 Collections.
-
The Data Structures chapter in Part II is rewritten with the Collections API in mind.
Both generic interfaces (as in the first edition) and Collections interfaces are illustrated.
This is still Chapter 6.
-
Generic data structures are rewritten to be much simpler and cleaner.
These are in weiss.nonstandard
(docs).
A partial list:
-
Linked lists classes are rewritten to move code out of the iterator.
-
Search tree and hash table classes are rewritten to avoid WasFound.
-
Priority queue is rewritten to avoid Toss.
-
Disjoint sets class has error checking.
-
As appropriate, a simplified Collections implementation is illustrated at the end
of the chapters in Part IV.
This package, weiss.util can be used in place of
java.util for the entire Part III code
(docs).
-
General fixes, and stylistic improvements:
- No wildcard import directives (except in Swing appendix)
- No generic catches
- Runtime exceptions used in place of checked exceptions when appropriate
Appendices will be shortened by 40 pages
- Appendix A (IDEs) to be eliminated because material is out of date
by the time book is published.
- Appendix B (Precedence) stays because
what the heck, it's only two pages.
- Appendix C (Some class docs) to be eliminated because this duplicates the
Javadocs that are available on every system.
- Appendix D (AWT/Applets) to be
shortened to include only swing, remove applets and threads,
and stick only with basic UI elements.
It will be approximately 28 pages.