V - the graph vertex typeE - the graph edge typepublic class ClosestFirstIterator<V,E> extends CrossComponentIterator<V,E,FibonacciHeapNode<org.jgrapht.traverse.ClosestFirstIterator.QueueEntry<V,E>>>
The metric for closest here is the weighted path length from a start vertex, i.e. Graph.getEdgeWeight(Edge) is summed to calculate path length. Negative edge weights will result in an IllegalArgumentException. Optionally, path length may be bounded by a finite radius.
crossComponentTraversal, graph, nListeners, reusableEdgeEvent, reusableVertexEvent, reuseEvents| Constructor and Description | 
|---|
| ClosestFirstIterator(Graph<V,E> g)Creates a new closest-first iterator for the specified graph. | 
| ClosestFirstIterator(Graph<V,E> g,
                    Iterable<V> startVertices)Creates a new closest-first iterator for the specified graph. | 
| ClosestFirstIterator(Graph<V,E> g,
                    Iterable<V> startVertices,
                    double radius)Creates a new radius-bounded closest-first iterator for the specified graph. | 
| ClosestFirstIterator(Graph<V,E> g,
                    V startVertex)Creates a new closest-first iterator for the specified graph. | 
| ClosestFirstIterator(Graph<V,E> g,
                    V startVertex,
                    double radius)Creates a new radius-bounded closest-first iterator for the specified graph. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | encounterVertex(V vertex,
               E edge)Update data structures the first time we see a vertex. | 
| protected void | encounterVertexAgain(V vertex,
                    E edge)Override superclass. | 
| double | getShortestPathLength(V vertex)Get the weighted length of the shortest path known to the given vertex. | 
| E | getSpanningTreeEdge(V vertex)Get the spanning tree edge reaching a vertex which has been seen already in this traversal. | 
| 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  nextmethod. | 
| void | setCrossComponentTraversal(boolean crossComponentTraversal)Sets the cross component traversal flag - indicates whether to traverse the graph across
 connected components. | 
finishVertex, getSeenData, hasNext, isSeenVertex, next, putSeenDataaddTraversalListener, createEdgeTraversalEvent, createVertexTraversalEvent, fireConnectedComponentFinished, fireConnectedComponentStarted, fireEdgeTraversed, fireVertexFinished, fireVertexTraversed, getGraph, isCrossComponentTraversal, isReuseEvents, remove, removeTraversalListener, setReuseEventsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEachRemainingpublic ClosestFirstIterator(Graph<V,E> g)
g - the graph to be iterated.public ClosestFirstIterator(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.public ClosestFirstIterator(Graph<V,E> g, Iterable<V> startVertices)
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.startVertices - the vertices iteration to be started.public ClosestFirstIterator(Graph<V,E> g, V startVertex, double radius)
 null.g - the graph to be iterated.startVertex - the vertex iteration to be started.radius - limit on weighted path length, or Double.POSITIVE_INFINITY for unbounded
        search.public ClosestFirstIterator(Graph<V,E> g, Iterable<V> startVertices, double radius)
 null.g - the graph to be iterated.startVertices - the vertices iteration to be started.radius - limit on weighted path length, or Double.POSITIVE_INFINITY for unbounded
        search.public void setCrossComponentTraversal(boolean crossComponentTraversal)
AbstractGraphIteratorsetCrossComponentTraversal in class AbstractGraphIterator<V,E>crossComponentTraversal - if true traverses across connected components.public double getShortestPathLength(V vertex)
vertex - vertex being sought from start vertexpublic E getSpanningTreeEdge(V vertex)
vertex - the spanned vertex.protected boolean isConnectedComponentExhausted()
CrossComponentIteratorisConnectedComponentExhausted in class CrossComponentIterator<V,E,FibonacciHeapNode<org.jgrapht.traverse.ClosestFirstIterator.QueueEntry<V,E>>>CrossComponentIterator.isConnectedComponentExhausted()protected void encounterVertex(V vertex, E edge)
CrossComponentIteratorencounterVertex in class CrossComponentIterator<V,E,FibonacciHeapNode<org.jgrapht.traverse.ClosestFirstIterator.QueueEntry<V,E>>>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)
encounterVertexAgain in class CrossComponentIterator<V,E,FibonacciHeapNode<org.jgrapht.traverse.ClosestFirstIterator.QueueEntry<V,E>>>vertex - the vertex re-encounterededge - the edge via which the vertex was re-encounteredprotected V provideNextVertex()
CrossComponentIteratornext
 method.provideNextVertex in class CrossComponentIterator<V,E,FibonacciHeapNode<org.jgrapht.traverse.ClosestFirstIterator.QueueEntry<V,E>>>CrossComponentIterator.provideNextVertex()Copyright © 2017. All rights reserved.