Difference between revisions of "Shortest Path"

From TRCCompSci - AQA Computer Science
Jump to: navigation, search
m (Fixed Link)
Line 2: Line 2:
 
The algorithm functions as follows:
 
The algorithm functions as follows:
 
# The first node has a distance of 0, this is locked in and labeled node one.
 
# The first node has a distance of 0, this is locked in and labeled node one.
# Each non locked in node that is connected by a weighted arc gains a temporary label equal to the total weight to reach it so long as the new distance is less then any previously marked.
+
# Each unlocked node that is connected directly to a locked node by a weighted arc is given a temporary label, equal to the total weight to reach it (from the starting node) if the new distance is less then any previously marked.
# The lowest distance node is locked in with the shortest distance available and marked as the next node in the path.
+
# The node closest to the start is locked in with the shortest distance available and marked as the next node in the path.
# Each new arc available is then checked, and the second and third steps are repeated using the total distance to reach the node.
+
# The previous 2 steps are repeated: the distance to the each unlocked node connected to a locked node is noted and the closest node to the start is selected (regardless of when the distance was given).
 
# Once every node is marked, the shortest path would be the backwards path from the last node, where taking the arc reaches the distance on the locked in node until the final number is zero at the start.
 
# Once every node is marked, the shortest path would be the backwards path from the last node, where taking the arc reaches the distance on the locked in node until the final number is zero at the start.
 +
[[File:Dijkstra.png|thumb]]

Revision as of 11:08, 22 May 2017

The shortest path is usually found by Dijkstra's algorithm. The algorithm functions as follows:

  1. The first node has a distance of 0, this is locked in and labeled node one.
  2. Each unlocked node that is connected directly to a locked node by a weighted arc is given a temporary label, equal to the total weight to reach it (from the starting node) if the new distance is less then any previously marked.
  3. The node closest to the start is locked in with the shortest distance available and marked as the next node in the path.
  4. The previous 2 steps are repeated: the distance to the each unlocked node connected to a locked node is noted and the closest node to the start is selected (regardless of when the distance was given).
  5. Once every node is marked, the shortest path would be the backwards path from the last node, where taking the arc reaches the distance on the locked in node until the final number is zero at the start.
Dijkstra.png