Sei sulla pagina 1di 13

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

Potrebbero piacerti anche