- java.lang.Object
-
- org.jgrapht.traverse.AbstractGraphIterator<V,E>
-
- org.jgrapht.traverse.CrossComponentIterator<V,E,DepthFirstIterator.VisitColor>
-
- org.jgrapht.traverse.DepthFirstIterator<V,E>
-
- org.jgrapht.alg.cycle.CycleDetector.ProbeIterator<V,E>
-
- All Implemented Interfaces:
java.util.Iterator<V>,GraphIterator<V,E>
- Enclosing class:
- CycleDetector<V,E>
private static class CycleDetector.ProbeIterator<V,E> extends DepthFirstIterator<V,E>
Version of DFS which maintains a backtracking path used to probe for cycles.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jgrapht.traverse.DepthFirstIterator
DepthFirstIterator.VisitColor
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<V>cycleSetprivate java.util.List<V>pathprivate Vroot-
Fields inherited from class org.jgrapht.traverse.DepthFirstIterator
SENTINEL
-
Fields inherited from class org.jgrapht.traverse.AbstractGraphIterator
crossComponentTraversal, graph, nListeners, reusableEdgeEvent, reusableVertexEvent, reuseEvents
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidencounterVertexAgain(V vertex, E edge)Called whenever we re-encounter a vertex.protected VprovideNextVertex()Returns the vertex to be returned in the following call to the iteratornextmethod.-
Methods inherited from class org.jgrapht.traverse.DepthFirstIterator
encounterVertex, getStack, isConnectedComponentExhausted
-
Methods inherited from class org.jgrapht.traverse.CrossComponentIterator
finishVertex, getEntireGraphVertexIterator, getSeenData, hasNext, isSeenVertex, next, putSeenData, selectOutgoingEdges
-
Methods inherited from class org.jgrapht.traverse.AbstractGraphIterator
addTraversalListener, createEdgeTraversalEvent, createVertexTraversalEvent, fireConnectedComponentFinished, fireConnectedComponentStarted, fireEdgeTraversed, fireVertexFinished, fireVertexTraversed, getGraph, isCrossComponentTraversal, isReuseEvents, remove, removeTraversalListener, setCrossComponentTraversal, setReuseEvents
-
-
-
-
Method Detail
-
encounterVertexAgain
protected void encounterVertexAgain(V vertex, E edge)
Called whenever we re-encounter a vertex. The default implementation does nothing.- Overrides:
encounterVertexAgainin classDepthFirstIterator<V,E>- Parameters:
vertex- the vertex re-encounterededge- the edge via which the vertex was re-encountered
-
provideNextVertex
protected V provideNextVertex()
Returns the vertex to be returned in the following call to the iteratornextmethod.- Overrides:
provideNextVertexin classDepthFirstIterator<V,E>- Returns:
- the next vertex to be returned by this iterator.
-
-