org.samcrow
Class DijkstraAlgorithm
java.lang.Object
org.samcrow.DijkstraAlgorithm
public class DijkstraAlgorithm
- extends java.lang.Object
Finds routes
Based mostly on http://www.vogella.de/articles/JavaAlgorithmsDijkstra/article.html
- Author:
- Sam Crow
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
nodes
private java.util.List<Node> nodes
Links
private java.util.List<Link> Links
settledNodes
private java.util.Set<Node> settledNodes
unSettledNodes
private java.util.Set<Node> unSettledNodes
predecessors
private java.util.Map<Node,Node> predecessors
distance
private java.util.Map<Node,java.lang.Double> distance
DijkstraAlgorithm
public DijkstraAlgorithm(Graph graph)
execute
public void execute(Node source)
findMinimalDistances
private void findMinimalDistances(Node node)
getDistance
private double getDistance(Node node,
Node target)
getNeighbors
private java.util.List<Node> getNeighbors(Node node)
getMinimum
private Node getMinimum(java.util.Set<Node> Nodees)
isSettled
private boolean isSettled(Node Node)
getShortestDistance
private java.lang.Double getShortestDistance(Node destination)
getPath
public java.util.LinkedList<Node> getPath(Node target)
- This method returns the path from the source to the selected target and
NULL if no path exists