public class ClosestFirstIteratorModified<V,E> extends CrossComponentIteratorModified<V,E,org.jgrapht.util.FibonacciHeapNode<es.tid.pce.computingEngine.algorithms.sson.ClosestFirstIteratorModified.QueueEntry<V,E>>>
The metric for closest here is the path length from a start vertex. 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.
CrossComponentIteratorModified.VisitColorvertexSpectrumState| Constructor and Description |
|---|
ClosestFirstIteratorModified(org.jgrapht.Graph<V,E> g)
Creates a new closest-first iterator for the specified graph.
|
ClosestFirstIteratorModified(org.jgrapht.Graph<V,E> g,
V startVertex)
Creates a new closest-first iterator for the specified graph.
|
ClosestFirstIteratorModified(org.jgrapht.Graph<V,E> g,
V startVertex,
double radius)
Creates a new radius-bounded closest-first iterator for the specified
graph.
|
ClosestFirstIteratorModified(org.jgrapht.Graph<V,E> g,
V startVertex,
double radius,
ArrayList<es.tid.ospf.ospfv2.lsa.tlv.subtlv.complexFields.BitmapLabelSet> SetChannels,
int num_slots)
Creates a new channel-based 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 boolean |
encounterVertexAgain(V vertex,
E edge)
Override superclass.
|
double |
getShortestPathLength(V vertex)
MODIFIED by Arturo Mayoral
Get the 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.
|
Hashtable<Object,BitmapChannelState> |
getVertexSpectrumState() |
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. |
void |
setCrossComponentTraversal(boolean crossComponentTraversal) |
finishVertex, getGraph, getSeenData, hasNext, isSeenVertex, next, putSeenData, setVertexSpectrumStateaddTraversalListener, fireConnectedComponentFinished, fireConnectedComponentStarted, fireEdgeTraversed, fireVertexFinished, fireVertexTraversed, isCrossComponentTraversal, isReuseEvents, remove, removeTraversalListener, setReuseEventsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEachRemainingpublic ClosestFirstIteratorModified(org.jgrapht.Graph<V,E> g)
g - the graph to be iterated.public ClosestFirstIteratorModified(org.jgrapht.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 ClosestFirstIteratorModified(org.jgrapht.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 path length, or Double.POSITIVE_INFINITY for
unbounded search.public ClosestFirstIteratorModified(org.jgrapht.Graph<V,E> g, V startVertex, double radius, ArrayList<es.tid.ospf.ospfv2.lsa.tlv.subtlv.complexFields.BitmapLabelSet> SetChannels, int num_slots)
null.g - the graph to be iterated.startVertex - the vertex iteration to be started.radius - limit on path length, or Double.POSITIVE_INFINITY for
unbounded search.SetChannels - SetChannelsnum_slots - num_slotspublic void setCrossComponentTraversal(boolean crossComponentTraversal)
public double getShortestPathLength(V vertex)
vertex - vertex being sought from start vertexpublic E getSpanningTreeEdge(V vertex)
vertex - the spanned vertex.protected boolean isConnectedComponentExhausted()
CrossComponentIteratorModifiedisConnectedComponentExhausted in class CrossComponentIteratorModified<V,E,org.jgrapht.util.FibonacciHeapNode<es.tid.pce.computingEngine.algorithms.sson.ClosestFirstIteratorModified.QueueEntry<V,E>>>CrossComponentIterator.isConnectedComponentExhausted()protected void encounterVertex(V vertex, E edge)
CrossComponentIteratorModifiedencounterVertex in class CrossComponentIteratorModified<V,E,org.jgrapht.util.FibonacciHeapNode<es.tid.pce.computingEngine.algorithms.sson.ClosestFirstIteratorModified.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 boolean encounterVertexAgain(V vertex, E edge)
encounterVertexAgain in class CrossComponentIteratorModified<V,E,org.jgrapht.util.FibonacciHeapNode<es.tid.pce.computingEngine.algorithms.sson.ClosestFirstIteratorModified.QueueEntry<V,E>>>vertex - the vertex re-encounterededge - the edge via which the vertex was re-encounteredprotected V provideNextVertex()
CrossComponentIteratorModifiednext method.provideNextVertex in class CrossComponentIteratorModified<V,E,org.jgrapht.util.FibonacciHeapNode<es.tid.pce.computingEngine.algorithms.sson.ClosestFirstIteratorModified.QueueEntry<V,E>>>CrossComponentIterator.provideNextVertex()public Hashtable<Object,BitmapChannelState> getVertexSpectrumState()
getVertexSpectrumState in class CrossComponentIteratorModified<V,E,org.jgrapht.util.FibonacciHeapNode<es.tid.pce.computingEngine.algorithms.sson.ClosestFirstIteratorModified.QueueEntry<V,E>>>Copyright © 2016. All rights reserved.