|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jgrapht.traverse.AbstractGraphIterator<V,E>
org.jgrapht.traverse.CrossComponentIterator<V,E,java.lang.Object>
org.jgrapht.traverse.BreadthFirstIterator<V,E>
public class BreadthFirstIterator<V,E>
A breadth-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.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.jgrapht.traverse.CrossComponentIterator |
---|
CrossComponentIterator.VisitColor |
Field Summary |
---|
Fields inherited from class org.jgrapht.traverse.AbstractGraphIterator |
---|
nListeners |
Constructor Summary | |
---|---|
BreadthFirstIterator(Graph<V,E> g)
Creates a new breadth-first iterator for the specified graph. |
|
BreadthFirstIterator(Graph<V,E> g,
V startVertex)
Creates a new breadth-first iterator for the specified graph. |
Method Summary | |
---|---|
protected void |
encounterVertex(V vertex,
E edge)
Update data structures the first time we see a vertex. |
protected void |
encounterVertexAgain(V vertex,
E 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 V |
provideNextVertex()
Returns the vertex to be returned in the following call to the iterator next method. |
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 |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public BreadthFirstIterator(Graph<V,E> g)
g
- the graph to be iterated.public BreadthFirstIterator(Graph<V,E> g, V 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.Method Detail |
---|
protected boolean isConnectedComponentExhausted()
CrossComponentIterator
isConnectedComponentExhausted
in class CrossComponentIterator<V,E,java.lang.Object>
CrossComponentIterator.isConnectedComponentExhausted()
protected void encounterVertex(V vertex, E edge)
CrossComponentIterator
encounterVertex
in class CrossComponentIterator<V,E,java.lang.Object>
vertex
- the vertex encounterededge
- the edge via which the vertex was encountered, or null if the
vertex is a starting pointCrossComponentIterator.encounterVertex(Object, Object)
protected void encounterVertexAgain(V vertex, E edge)
CrossComponentIterator
encounterVertexAgain
in class CrossComponentIterator<V,E,java.lang.Object>
vertex
- the vertex re-encounterededge
- the edge via which the vertex was re-encounteredCrossComponentIterator.encounterVertexAgain(Object, Object)
protected V provideNextVertex()
CrossComponentIterator
next
method.
provideNextVertex
in class CrossComponentIterator<V,E,java.lang.Object>
CrossComponentIterator.provideNextVertex()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |