Package net.datastructures

Interface Summary
AdaptablePriorityQueue<K,V> Interface for an adaptable priority queue.
BinaryTree<E> An interface for a binary tree, where each node can have zero, one, or two children.
BTPosition<E> Interface for a node of a binary tree.
CompleteBinaryTree<E> An interface for a complete binary tree.
DecorablePosition<E> An interface for a position that can be marked with an arbitrary number of decorations.
Deque<E> Interface for a deque: a collection of objects that are inserted and removed at both ends; a subset of java.util.LinkedList methods.
Dictionary<K,V> An interface for a dictionary storing (key-value) pairs.
Edge<E> An interface for an edge of a graph.
Entry<K,V> Interface for a key-value pair entry
Graph<V,E> An interface for a graph.
IndexList<E> An interface for array lists.
Map<K,V> An interface for a map which binds a key uniquely to a value.
Position<E> An interface for a position, which is a holder object storing a single element.
PositionList<E> An interface for positional lists.
PriorityQueue<K,V> Interface for the priority queue ADT
Queue<E> Interface for a queue: a collection of elements that are inserted and removed according to the first-in first-out principle.
Sequence<E> An interface for a sequence, a data structure supporting all operations of a deque, indexed list and position list.
Stack<E> Interface for a stack: a collection of objects that are inserted and removed according to the last-in first-out principle.
Tree<E> An interface for a tree where nodes can have an arbitrary number of children.
TreePosition<E> Interface for a node of a binary tree.
Vertex<E> An interface for a vertex of a graph.
 

Class Summary
AdjacencyListGraph<V,E> An realization of a graph according to adjacency list structure.
ArrayIndexList<E> Realization of an indexed list by means of an array, which is doubled when the size of the indexed list exceeds the capacity of the array.
ArrayListCompleteBinaryTree<E> A speedy implementation of the CompleteBinaryTree interface using a vector.
ArrayStack<E> Implementation of the stack ADT using a fixed-length array.
AVLTree<K,V> AVLTree class - implements an AVL Tree by extending a binary search tree.
BinarySearchTree<K,V> Realization of a dictionary by means of a binary search tree.
BTNode<E> Class implementing a node of a binary tree by storing references to an element, a parent node, a left node, and a right node.
ComponentsDFS<V,E> This class extends DFS to compute the connected components of a graph.
ConnectivityDFS<V,E> This class specializes DFS to determine whether the graph is connected.
DefaultComparator<E> Comparator based on the natural ordering
DFS<V,E,I,R> Generic DFS traversal of a graph using the template method pattern.
Dijkstra<V,E> Dijkstra's algorithm for the single-source shortest path problem in an undirected graph whose edges have integer weights.
DLNode<E> A simple node class for a doubly-linked list.
DNode<E> A simple node class for a doubly-linked list.
ElementIterator<E> A simple iterator class for lists.
EulerTour<E,R> Template for algorithms traversing a binary tree using an Euler tour.
FindCycleDFS<V,E> This class specializes DFS to find a cycle.
FindPathDFS<V,E> Class specializing DFS to find a path between a start vertex and a target vertex.
HashTableMap<K,V> A hash table data structure that uses linear probing to handle collisions.
HashTableMap.HashEntry<K,V> Nested class for an entry in a hash table.
HeapAdaptablePriorityQueue<K,V> Realization of an adaptable priority queue by means of a heap.
HeapPriorityQueue<K,V> Realization of a priority queue by means of a heap.
LinkedBinaryTree<E> An implementation of the BinaryTree interface by means of a linked structure.
LinkedTree<E> A linked class for a tree where nodes have an arbitrary number of children.
Node<E> Node of a singly linked list, which stores references to its element and to the next node in the list.
NodeDeque<E> Implementation of the Deque interface by means of a doubly linked list.
NodePositionList<E> Realization of a PositionList using a doubly-linked list of nodes.
NodeQueue<E> Realization of a queue by means of a singly-linked list of nodes.
NodeStack<E> Implementation of the stack ADT by means of a singly linked list.
RBTree<K,V> Realization of a dictionary by means of a red-black tree.
Sort Class containing various sorting algorithms.
SortedListAdaptablePriorityQueue<K,V> Implementation of an adaptable priority queue by means of a sorted list.
SortedListPriorityQueue<K,V> Realization of a priority queue by means of a sorted node list in nondecreasing order.
TreeNode<E> Class implementing a node of a binary tree by storing references to an element, a parent node, a left node, and a right node.
 

Exception Summary
BoundaryViolationException Signals that the boundaries of a data structure have been illegally traversed (e.g.
EmptyDequeException Runtime exception thrown when one tries to perform an access or removal operation on an empty deque.
EmptyListException Thrown when a list cannot fulfill the requested operation because it is empty.
EmptyPriorityQueueException Thrown when a priority queue cannot fulfill the requested operation because it is empty.
EmptyQueueException Runtime exception thrown when one tries to perform operation front or dequeue on an empty queue.
EmptyStackException Runtime exception thrown when one tries to perform operation top or pop on an empty stack.
EmptyTreeException Runtime exception thrown when one tries to access the root of an empty tree.
FullStackException Runtime exception thrown when the capacity of the array used by an ArrayStack has been exceeded.
InvalidEntryException Thrown when an entry is discovered to be invalid.
InvalidKeyException Thrown when a key is determined to be invalid.
InvalidPositionException Thrown when a position is determined to be invalid.
NonEmptyTreeException Runtime exception thrown when one tries to create the root of a tree that is not empty.