org._3pq.jgrapht.traverse
Class DepthFirstIterator
- GraphIterator, Iterator
public class DepthFirstIterator
A depth-first iterator for a directed and an undirected graph. For this
iterator to work correctly the graph must not be modified during iteration.
Currently there are no means to ensure that, nor to fail-fast. The results
of such modifications are undefined.
addTraversalListener , fireConnectedComponentFinished , fireConnectedComponentStarted , fireEdgeTraversed , fireVertexTraversed , isCrossComponentTraversal , isReuseEvents , remove , removeTraversalListener , setCrossComponentTraversal , setReuseEvents |
DepthFirstIterator
public DepthFirstIterator(Graph g)
Creates a new depth-first iterator for the specified graph.
g
- the graph to be iterated.
DepthFirstIterator
public DepthFirstIterator(Graph g,
Object startVertex)
Creates a new depth-first iterator for the specified graph. Iteration
will start at the specified start vertex and will be limited to the
connected component that includes that vertex. If the specified start
vertex is 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.
encounterVertex
protected void encounterVertex(Object vertex,
Edge edge)
- encounterVertex in interface CrossComponentIterator
org._3pq.jgrapht.traverse.CrossComponentIterator.encounterVertex(java.lang.Object,
org._3pq.jgrapht.Edge)
encounterVertexAgain
protected void encounterVertexAgain(Object vertex,
Edge edge)
- encounterVertexAgain in interface CrossComponentIterator
org._3pq.jgrapht.traverse.CrossComponentIterator.encounterVertexAgain(java.lang.Object,
org._3pq.jgrapht.Edge)