org._3pq.jgrapht.traverse
public class DepthFirstIterator extends CrossComponentIterator
Constructor and Description |
---|
DepthFirstIterator(Graph g)
Creates a new depth-first iterator for the specified graph.
|
DepthFirstIterator(Graph g,
java.lang.Object startVertex)
Creates a new depth-first iterator for the specified graph.
|
Modifier and Type | Method and Description |
---|---|
protected void |
encounterVertex(java.lang.Object vertex,
Edge edge)
Update data structures the first time we see a vertex.
|
protected void |
encounterVertexAgain(java.lang.Object vertex,
Edge edge)
Called whenever we re-encounter a vertex.
|
protected boolean |
isConnectedComponentExhausted()
Returns true if there are no more uniterated vertices in the
currently iterated connected component; false otherwise.
|
protected java.lang.Object |
provideNextVertex()
Returns the vertex to be returned in the following call to the iterator
next method. |
getSeenData, hasNext, isSeenVertex, next, putSeenData
addTraversalListener, fireConnectedComponentFinished, fireConnectedComponentStarted, fireEdgeTraversed, fireVertexTraversed, isCrossComponentTraversal, isReuseEvents, remove, removeTraversalListener, setCrossComponentTraversal, setReuseEvents
public DepthFirstIterator(Graph g)
g
- the graph to be iterated.public DepthFirstIterator(Graph g, java.lang.Object startVertex)
null
, iteration will start at an arbitrary
vertex and will not be limited, that is, will be able to traverse all
the graph.g
- the graph to be iterated.startVertex
- the vertex iteration to be started.protected boolean isConnectedComponentExhausted()
CrossComponentIterator
isConnectedComponentExhausted
in class CrossComponentIterator
CrossComponentIterator.isConnectedComponentExhausted()
protected void encounterVertex(java.lang.Object vertex, Edge edge)
CrossComponentIterator
encounterVertex
in class CrossComponentIterator
vertex
- the vertex encounterededge
- the edge via which the vertex was encountered, or null if
the vertex is a starting pointCrossComponentIterator.encounterVertex(java.lang.Object,
org._3pq.jgrapht.Edge)
protected void encounterVertexAgain(java.lang.Object vertex, Edge edge)
CrossComponentIterator
encounterVertexAgain
in class CrossComponentIterator
vertex
- the vertex re-encounterededge
- the edge via which the vertex was re-encounteredCrossComponentIterator.encounterVertexAgain(java.lang.Object,
org._3pq.jgrapht.Edge)
protected java.lang.Object provideNextVertex()
CrossComponentIterator
next
method.provideNextVertex
in class CrossComponentIterator
CrossComponentIterator.provideNextVertex()