A Practical Introduction to
Data Structures and Algorithm Analysis
by Clifford A. Shaffer

The third edition of the C++ version of the textbook is currently underway. It should be available sometime in 2008. An initial version of the Source Code is ready now, and I recommend that this be used in preference to the code published with the 1st or second editions. Here is a zipped version of all the source code files.

C++ Version (second edition) (©2001 Prentice Hall, ISBN 0-13-028446-7)

Java Version (©1998 Prentice Hall, ISBN 0-13-660911-2)

C++ Version (first edition) (©1997 Prentice Hall, ISBN 0-13-190752-2)
Please note that the 4th printing and thereafter is an updated version with corrections. However, the first edition of the C++ version is fairly obsolete now, and I certainly recommend using one of the more recent editions.

An Instructors Manual containing solutions to the exercises is available from Prentice Hall. It is available only to instructors who adopt the book for a course. Please do not contact me about the Instructors Manual, since I do not distribute it. Instructors should contact their Prentice Hall representative for a copy.

For a comprehensive overview of data structures and algorithm visualizations, including an extensive online catalog of available visualizations, please visit our Algorithm and Data Structures Visualization Wiki.

Here is a source of information on Design Patterns.

Return to Cliff Shaffer's homepage.