Interface  Description 

DirectedNodeEdgeGraph<NodeNameType> 
This interface defines the minimal set of methods necessary to create and
walk a directed graph.

DirectedWeightedNodeEdgeGraph<NodeNameType> 
Adds the necessary methods for a graph with weighted edges.

GraphWalker.NextNodeSelector<NodeNameType> 
This interface defines the method needed by the GraphWalker class to
implement all features of graph walking _except_ the algorithm used to
select the next node to visit

Class  Description 

DenseMemoryGraph<NodeNameType> 
Most basicest of graph types.

GraphMetrics<NodeNameType> 
This class is intended to allow programmers to get any number of graph
metrics for any input graph without bloating the intentionally spartan graph
implementations and interfaces.

GraphUtil 
Stores a variety of static utility methods for the graph package.

GraphWalker<NodeNameType> 
This class provides the core functionality for any random, deterministic, or
probabilistic graph walking code as long as only one edge can be traversed
from any given node (that is a depthfirst or breadthfirst can't be
implemented by this as it doesn't permit a queue of nodes to visit, but only
a single element "next node to visit").

GraphWalker.RandomWalker<NodeNameType> 
This class implements the most simple walker which randomly selects from
the available edges.

WeightedDenseMemoryGraph<NodeNameType> 
Implementation for a weighted graph type
