Class Summary 
AbstractTopologicalSort 
This abstract class is the foundation for both types
of topological sorts, that is, the standard variety where
each vertex is given a unique number, and the levelnumbering
variety in which numbers attached to vertices are not unique. 
BFS 
Class implementing an abstract Breadth First Search. 
DBFS 
Class extending BFS to create a directed Breadth First Search. 
DFS 
Class implementing an abstract Depth First Search. 
DirectedDFS 

DirectedFindCycleDFS 
This class specializes DFS to determine if the connected component
of the start vertex contains a cycle and if so return it. 
FindCycleDFS 
This class specializes DFS to determine if the connected component
of the start vertex contains a cycle and if so return it. 
IntegerDijkstraPathfinder 
Class that allows finding a path between two vertices of a graph,
using Dijkstra's algorithm. 
IntegerDijkstraTemplate 
Implementation of Dijkstra's algorithm using the templatemethod
pattern: the core functionality is coded in a few final methods
that call overridable methods to do some of the work. 
IntegerPrimTemplate 
Implementation of the algorithm of Prim and Jarnik for finding a
minimum spanning tree, using the templatemethod
pattern: the core functionality is coded in a few final methods
that call overridable methods to do some of the work. 
IntegerPrimTreeBuilder 
Constructs a full minimum spanning tree on a given graph
and reports the tree as an iterator over the edges. 
TopologicalSort 
This algorithm class performs a topological ordering on a
given DAG. 
UnitWeightedTopologicalNumbering 
This algorithm class computes the optimal unitweighted topological
numbering for a given DAG. 