All Classes and Interfaces

Class
Description
An abstract base class providing some functionality of the BinaryTree interface.
An abstract base class supporting Map implementations that use hash tables with MAD compression.
An abstract base class to ease the implementation of the Map interface.
A concrete implementation of the Entry interface to be used within a Map implementation.
An abstract base class to ease the implementation of the PriorityQueue interface.
A concrete implementation of the Entry interface to be used within a PriorityQueue implementation.
Generates a simple progression.
An abstract base class to ease the implementation of the SortedMap interface.
An abstract base class providing some functionality of the Tree interface.
Interface for the adaptable priority queue ADT.
An implementation for a graph structure using an adjacency map for each vertex.
A class producing an arithmetic progression of the form start, start+step, start+2*step, ...
Realization of a list by means of a dynamic array.
Demonstration of a recursive method to find the maximum value in an array.
Implementation of the queue ADT using a fixed-length array.
Demonstration of recursive method for reversing an array's elements.
Example of valid and invalid method for scaling a numeric array.
Implementation of the stack ADT using a fixed-length array.
Example of a static method that analyzes an array
Demonstration of two recursive approaches to computing the sum of an array of integers.
Example of a static method that analyzes an array using for-each loop.
An implementation of a sorted map using an AVL tree.
Simple demonstration of the binary search algorithm.
An interface for a binary tree, in which each node has at most two children.
Class for objects that can be sold, packed, and shipped.
Class for objects that can be sold, packed, and shipped.
Class for doing encryption and decryption using the Caesar Cipher.
Map implementation using hash table with separate chaining.
An implementation of a circularly linked list.
This provides one additional method not part of the general Queue interface.
Maintains a database of maximal (cost,performance) pairs.
An integer counter that can be incremented and reset to zero.
A demonstration of the use of the Counter class.
A simple model for a consumer credit card.
Class to demonstrate a deep clone of a 2D array.
Comparator based on the compareTo method of a Comparable element type.
Interface for a double-ended queue: a collection of elements that can be inserted and removed at both ends; this interface is a simplified version of java.util.Deque.
Supports the computation of the total disk space usage within a file system.
A basic doubly linked list implementation.
An edge of a graph.
Interface for a key-value pair.
An example that uses an enumerated type.
An enumerated type for days of the week.
A demonstration of a try-catch structure.
Demonstration of recursive factorial function.
A list of elements, ordered from most frequently to least frequently accessed.
 
A list of elements, ordered from most recently to least recently accessed.
Demonstration of two recursive approaches to computing Fibonacci numbers.
A class producing a Fibonacci progression from two starting values.
A representation of an entry on a scoreboard.
A demonstration of a generic function with a parameterized type.
A class producing a geometric progression of the form start, start*factor, start*factor*factor, ...
An interface for a graph structure.
A collection of graph algorithms.
This class provides a utility to build a graph from a list of edges.
An adaptation of a map into a multimap, by mapping to a list of values.
An implementation of an adaptable priority queue using an array-based heap.
Extension of the PQEntry to include location information.
An implementation of a priority queue using an array-based heap.
 
Provides an insertion sort implementation for arrays.
Provides an insertion sort implementation for a PositionalList.
Interface for objects that can be insured when shipped.
 
The classic Josephus problem as a Case study for a CircularQueue
Algorithms for computing the longest common subsequence of two character sequences.
Concrete implementation of a binary tree using a node-based, linked structure.
Nested static class for a binary tree node.
Realization of a circular FIFO queue as an adaptation of a CircularlyLinkedList.
Realization of a double-ended queue as an adaptation of a DoublyLinkedList.
Implementation of a positional list stored as a doubly linked list.
Realization of a FIFO queue as an adaptation of a SinglyLinkedList.
Realization of a stack as an adaptation of a SinglyLinkedList.
A simplified version of the java.util.List interface.
An interface for an associative map which binds a key uniquely to a value.
 
Simplified test of matching delimiters in a string.
Simplified test of matching tags in an HTML document.
Demonstration of dynamic programming.
 
 
A Union-Find structure for maintaining disjoint sets.
Implementation of several pattern-matching algorithms on character sequences.
 
Class for photographs that can be sold.
 
An interface for a position which is an abstraction for the location at which a single element is stored in a positional container.
An interface for positional lists.
Demonstration of the more efficient method for computing the power function.
Sorting with a priority queue.
A demonstration of inheritance.
A demonstration of primitive types.
Interface for the priority queue ADT.
Map implementation using hash table with linear probing.
Generates a simple progression.
Interface for a queue: a collection of elements that are added and removed according to the first-in first-out principle.
An implementation of a sorted map using a red-black tree.
Case study for using a Stack to reverse a sequence.
An example of nested conditional statements
Provides support for drawing an English ruler.
Class for storing high scores in an array in nondecreasing order.
Interface for objects that can be sold.
A basic singly linked list implementation.
A map with additional support for keys from a total ordering.
An implementation of a priority queue with a sorted list.
An implementation of a map using a sorted table.
An implementation of a sorted map using a splay tree.
A collection of objects that are added and removed according to the last-in first-out principle.
Provides an empirical test of the efficiency of repeated string concatentation versus use of the StringBuilder class.
 
 
Test program for the progression hierarchy.
Simulation of a Tic-Tac-Toe game (does not do strategy).
Interface for objects that can be transported.
Several applications of tree traversals.
 
An interface for a tree where nodes can have an arbitrary number of children.
An implementation of a sorted map using a binary search tree.
A specialized version of the LinkedBinaryTree class with additional mutators to support binary search tree operations, and a specialized node class that includes an auxiliary instance variable for balancing data.
A specialized version of Node that includes an auxiliary int for balancing algorithms
Demonstration of a recursive (and very bad) solution to element uniqueness problem.
Our version of the classic Hello World.
An implementation of a priority queue with an unsorted list.
An implementation of a map using an unsorted table.
A vertex of a graph.
A program that counts words in a document, printing the most frequent.
A demonstration of Java's wrapper types.