15.082J & 6.855J & ESD.78J Visualizations Dijkstra’s Algorithm with simple buckets

advertisement
15.082J & 6.855J & ESD.78J
Visualizations
Dijkstra’s Algorithm with simple buckets
(also known as Dial’s algorithm)
An Example
Initialize
distance labels
∞
∞
4
2
2
0
Initialize
buckets.
4
2
2
1
1
3
6
4
2
1
1
2
3
3
3
Select the node with
the minimum temporary
distance label.
0
∞
5
∞
4
∞
∞
5
6
7
2
3
4
5
6
2
Update Step
2
∞
∞
4
2
4
2
0
2
2
1
1
3
6
4
2
3
3
5
∞
4
0
1
1
2
3
∞
4
∞
∞
5
6
7
2
3
4
5
6
3
Choose Minimum Temporary Label
Find Min by
starting at the
leftmost bucket
and scanning
right till there is
a non-empty
bucket.
∞
2
4
2
4
2
0
2
2
1
1
3
4
1
3
3
2
2
3
∞
2
5
4
3
∞
∞
4
0
6
5
6
7
4
5
6
4
Update Step
6
∞
2
4
2
4
2
0
2
2
1
1
3
6
4
2
3
3
0
1
2
2
3
∞
4
3
4
3
5
∞
∞
4
5
6
7
4
5
6
5
Choose Minimum Temporary Label
Find Min by
starting at the
leftmost bucket
and scanning
right till there is
a non-empty
bucket.
2
6
4
2
4
2
0
2
2
1
1
3
4
1
3
3
2
∞
2
5
3
0
6
3
4
3
5
∞
4
5
6
4
7
6
6
Update
2
6
4
2
4
2
0
2
2
1
1
3
6
4
2
3
3
5
3
0
1
2
∞
3
4
3
5
∞
4
5
6
4
7
6
7
Choose Minimum Temporary Label
2
6
4
2
4
2
0
2
2
1
1
3
6
4
2
3
3
5
3
0
1
2
3
∞
4
5
∞
4
5
6
4
7
6
8
Update
2
6
4
2
4
2
0
2
2
1
1
3
6
4
2
3
3
5
3
0
1
2
3
6
∞
4
5
∞
4
5
6
4
7
6
9
Choose Minimum Temporary Label
2
6
4
2
4
2
0
2
2
1
1
3
6
4
2
3
3
5
3
0
1
2
3
6
4
4
5
6
7
4
6
10
Update
2
6
4
2
4
2
0
2
2
1
1
3
6
4
2
3
3
5
3
0
1
2
3
6
4
4
5
6
7
4
6
11
Choose Minimum Temporary Label
2
6
4
2
There is
nothing to
update
4
2
0
2
2
1
1
3
6
4
2
3
3
5
3
0
1
2
3
6
4
4
5
6
7
6
12
End of Algorithm
2
2
0
6
4
4
2
2
1
1
2
3
4
6
6
2
3
3
3
5
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
MITOpenCourseWare
http://ocw.mit.edu
15.082J / 6.855J / ESD.78J Network Optimization
Fall 2010
For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.
Download