The resources referenced in this page are general web sites that are related to topics covered in the textbook Data Structures and Algorithms in Java by Michael Goodrich and Roberto Tamassia. The contents of these sites are not directly affiliated with this work, however, and may change at any time. For applets designed to specifically illustrate topics from the textbook, please see the animations page.

Chapter   1

Java Programming

Chapter   2

Object-Oriented Design

Chapter   3

Analysis Tools

Chapter   4

Stacks, Queues, and Recursion

Chapter   5

Vectors, Lists, and Sequences

Chapter   6


Chapter   7

Priority Queues

Chapter   8

Maps and Dictionaries

Chapter   9

Search Trees

Chapter 10

Sorting, Sets, and Selection

  • Java Animations of Shellsort and Variants demonstrates variants of the shell sorting algorithm, including shell sort, shake sort, and brick sort, and it really is fun to watch.
  • Sorting Algorithms has demonstrations of many sorting algorithms, including bubble, selection, shaker, insertion, shell, heap, and quick sorts. Source code is available.
  • The Java Sorting Animation Page has demonstrations of bubble, selection, heap, insertion, merge, and quick sorts. It comes with complete descriptions for the algorithms. It is a very good way to understand the algorithms, since it indicates exactly what happens during each iteration and even allows you to undo steps.
Chapter 11

Text Processing

Chapter 12