java.lang.Object
org.jgrapht.alg.cycle.CycleDetector<V,E>
 Type Parameters:
V
 the graph vertex typeE
 the graph edge type
Performs cycle detection on a graph. The inspected graph is specified at construction time
and cannot be modified. Currently, the detector supports only directed graphs.
 Author:
 John V. Sichi

Constructor Summary
ConstructorDescriptionCycleDetector
(Graph<V, E> graph) Creates a cycle detector for the specified graph. 
Method Summary
Modifier and TypeMethodDescriptionboolean
Performs yes/no cycle detection on the entire graph.boolean
Performs yes/no cycle detection on an individual vertex.Finds the vertex set for the subgraph of all cycles.Finds the vertex set for the subgraph of all cycles which contain a particular vertex.

Constructor Details

CycleDetector
Creates a cycle detector for the specified graph. Currently only directed graphs are supported. Parameters:
graph
 the directed graph in which to detect cycles


Method Details

detectCycles
public boolean detectCycles()Performs yes/no cycle detection on the entire graph. Returns:
 true iff the graph contains at least one cycle

detectCyclesContainingVertex
Performs yes/no cycle detection on an individual vertex. Parameters:
v
 the vertex to test Returns:
 true if v is on at least one cycle

findCycles
Finds the vertex set for the subgraph of all cycles. Returns:
 set of all vertices which participate in at least one cycle in this graph

findCyclesContainingVertex
Finds the vertex set for the subgraph of all cycles which contain a particular vertex.REVIEW jvs 25Aug2006: This implementation is not guaranteed to cover all cases. If you want to be absolutely certain that you report vertices from all cycles containing v, it's safer (but less efficient) to use StrongConnectivityAlgorithm instead and return the strongly connected component containing v.
 Parameters:
v
 the vertex to test Returns:
 set of all vertices reachable from v via at least one cycle
