Package org.jgrapht.alg
Class CycleDetector.ProbeIterator
- java.lang.Object
-
- org.jgrapht.traverse.AbstractGraphIterator<V,E>
-
- org.jgrapht.traverse.CrossComponentIterator<V,E,CrossComponentIterator.VisitColor>
-
- org.jgrapht.traverse.DepthFirstIterator<V,E>
-
- org.jgrapht.alg.CycleDetector.ProbeIterator
-
- All Implemented Interfaces:
java.util.Iterator<V>
,GraphIterator<V,E>
- Enclosing class:
- CycleDetector<V,E>
private class CycleDetector.ProbeIterator 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.CrossComponentIterator
CrossComponentIterator.VisitColor
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<V>
cycleSet
private java.util.List<V>
path
private V
root
-
Fields inherited from class org.jgrapht.traverse.DepthFirstIterator
SENTINEL
-
Fields inherited from class org.jgrapht.traverse.AbstractGraphIterator
nListeners, reusableEdgeEvent, reusableVertexEvent, specifics
-
-
Constructor Summary
Constructors Constructor Description ProbeIterator(java.util.Set<V> cycleSet, V startVertex)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
encounterVertexAgain(V vertex, E edge)
Called whenever we re-encounter a vertex.protected V
provideNextVertex()
Returns the vertex to be returned in the following call to the iteratornext
method.-
Methods inherited from class org.jgrapht.traverse.DepthFirstIterator
encounterVertex, getStack, isConnectedComponentExhausted
-
Methods inherited from class org.jgrapht.traverse.CrossComponentIterator
finishVertex, getGraph, getSeenData, hasNext, isSeenVertex, next, putSeenData
-
Methods inherited from class org.jgrapht.traverse.AbstractGraphIterator
addTraversalListener, fireConnectedComponentFinished, fireConnectedComponentStarted, fireEdgeTraversed, fireVertexFinished, fireVertexTraversed, 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:
encounterVertexAgain
in classDepthFirstIterator<V,E>
- Parameters:
vertex
- the vertex re-encounterededge
- the edge via which the vertex was re-encountered- See Also:
CrossComponentIterator.encounterVertexAgain(Object, Object)
-
provideNextVertex
protected V provideNextVertex()
Returns the vertex to be returned in the following call to the iteratornext
method.- Overrides:
provideNextVertex
in classDepthFirstIterator<V,E>
- Returns:
- the next vertex to be returned by this iterator.
- See Also:
CrossComponentIterator.provideNextVertex()
-
-