15.082 and 6.
855J
Dijkstra’s Algorithm
An Example
∞ ∞
2 4 4
2 2
0
2
1 1 3 6 ∞
4 2
3 3 5
∞ ∞
Initialize
Select the node with
the minimum temporary
distance label.
2
Update Step
2
∞ ∞
2 4 4
2 2
0
2
1 1 3 6 ∞
4 2
3 3 5
∞ ∞
4
3
Choose Minimum Temporary Label
2 ∞
2 4 4
2 2
0
2
1 1 3 6 ∞
4 2
3 3 5
4 ∞
4
Update Step
6
2 ∞
2 4 4
2 2
0
2
1 1 3 6 ∞
4 2
3 3 5
4 ∞
3 4
The predecessor
of node 3 is now
node 2
5
Choose Minimum Temporary Label
2 6
2 4 4
2 2
0
2
1 1 3 6 ∞
4 2
3 3 5
3 4
6
Update
2 6
2 4 4
2 2
0
2
1 1 3 6 ∞
4 2
3 3 5
3 4
d(5) is not changed.
7
Choose Minimum Temporary Label
2 6
2 4 4
2 2
0
2
1 1 3 6 ∞
4 2
3 3 5
3 4
8
Update
2 6
2 4 4
2 2
0
2 6
1 1 3 6 ∞
4 2
3 3 5
3 4
d(4) is not changed
9
Choose Minimum Temporary Label
2 6
2 4 4
2 2
0
1 2 3
1 6 6
4 2
3 3 5
3 4
10
Update
2 6
2 4 4
2 2
0
1 2 3
1 6 6
4 2
3 3 5
3 4
d(6) is not updated
11
Choose Minimum Temporary Label
2 6
2 4 4
2 2
0
1 2 3
1 6 6
4 2
3 3 5
3 4
There is nothing to update
12
End of Algorithm
2 6
2 4 4
2 2
0
1 2 3
1 6 6
4 2
3 3 5
3 4
All nodes are now permanent
The predecessors form a tree
The shortest path from node 1 to node 6 can
be found by tracing back predecessors 13