Skip to main content

Data Structures and Algorithms in Java, 6th Edition International Student Version




Data Structures and Algorithms in Java, 6th Edition International Student Version

Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser

ISBN: 978-1-118-80857-3 August 2014 720 Pages


The design and analysis of efficient data structures has long been recognized as a key component of the Computer Science curriculum. Goodrich and Tomassia's approach to this classic topic is based on the object-oriented paradigm as the framework of choice for the design of data structures. For each ADT presented in the text, the authors provide an associated Java interface. Concrete data structures realizing the ADTs are provided as Java classes implementing the interfaces. The Java code implementing fundamental data structures in this book is organized in a single Java package, net.datastructures. This package forms a coherent library of data structures and algorithms in Java specifically designed for educational purposes in a way that is complimentary with the Java Collections Framework.

Related Resources

1 Java Primer
2 Object-Oriented Design
3 Fundamental Data Structures
4 Algorithm Analysis
5 Recursion
6 Stacks, Queues, and Deques
7 List and Iterator ADTs
8 Trees
9 Priority Queues
10 Maps, Hash Tables, and Skip Lists
11 Search Trees
12 Text Processing
13 Sorting and Selection
14 Graph Algorithms
15 Memory Management and B-Trees
  • Authors performed a complete audit of all Java code in the book to improve readability and ensure consistency, including an update to the latest release of Java. Version 1.8 is slated for release in September 2013.
  • Source code will be available in a complete form that can be compiled/executed. 
  • Coverage of recursion is revised and expanded by introducing a new chapter devoted to the topic.  This will pull together existing coverage that currently appears in several chapters and will add new applications.
  • Many content improvements including reorganizing current chapter 7 on Trees and greatly simplifying the Java code in the Graph Algorithms chapter
  • All Illustrations reviewed and redrawn as necessary for better student understanding;  new illustrations added where helpful.
  • New co-author Michael Goldwasser, Professor and Director of Computer Science at St. Louis University.
  • Known for its clarity of presentation, DSA Java presents even the most difficult mathematical concepts in terms students can understand. 
  • A robust set of end-of-chapter problems are arranged by purpose – reinforcement problems assess understanding; creativity problems require students to apply concepts to writing “classes” (portions of a program); projects require students to write entire programs.
  • Java code examples are used extensively, with source code provided on the student companion site . Students learn to build data structures using a simple API which is consistent with the Java Collections Framework.  The authors describe the Java Collections Framework and point out how the API in use may differ from the Java Collections Framework.
  • An effective in-text art program illustrate data structures and algorithms in a clear, visual manner.  Visual proofs help students develop a better understanding of mathematical topics.
  • Coverage of Internet-related topics including hashing and text processing.
  • Discussion of object-oriented design and the Java programming language, including the Collections Framework and Design Patterns help students grasp both data structures and object-oriented design issues.  The book presents several object-oriented design patterns and important Java language constructs, like iterators and generic types, as well as all the traditional data structures topics.