Dijkstras Shortest Path Algorithm from Algorithm Design by
Dijkstra's Shortest Path Algorithm (from “Algorithm Design” by J. Kleinberg and E. Tardos) Find shortest path from s to t. 24 2 9 s 3 18 14 6 30 15 11 5 5 16 20 7 6 2 44 4 19 6 t 1
Dijkstra's Shortest Path Algorithm S={ } PQ = { s, 2, 3, 4, 5, 6, 7, t } 0 s 24 2 9 14 18 30 11 5 5 16 20 7 distance label 6 2 6 15 3 44 4 19 6 t 2
Dijkstra's Shortest Path Algorithm S={ } PQ = { s, 2, 3, 4, 5, 6, 7, t } delmin 0 s 24 2 9 14 18 30 11 5 5 16 20 7 distance label 6 2 6 15 3 44 4 19 6 t 3
Dijkstra's Shortest Path Algorithm S={s} PQ = { 2, 3, 4, 5, 6, 7, t } decrease key X 9 0 s 24 2 9 18 X 14 14 30 11 5 5 16 20 7 distance label 15 X 6 2 6 15 3 44 4 19 6 t 4
Dijkstra's Shortest Path Algorithm S={s} PQ = { 2, 3, 4, 5, 6, 7, t } delmin X 9 0 s 24 2 9 18 X 14 30 11 5 5 16 20 7 distance label 15 X 6 2 6 15 3 44 4 19 6 t 5
Dijkstra's Shortest Path Algorithm S = { s, 2 } PQ = { 3, 4, 5, 6, 7, t } X 9 0 s 24 2 9 18 X 14 30 11 5 5 16 20 7 15 X 6 2 6 15 3 44 4 19 6 t 6
Dijkstra's Shortest Path Algorithm S = { s, 2 } PQ = { 3, 4, 5, 6, 7, t } decrease key X 33 X 9 0 s 24 2 9 18 X 14 30 11 5 5 16 20 7 15 X 6 2 6 15 3 44 4 19 6 t 7
Dijkstra's Shortest Path Algorithm S = { s, 2 } PQ = { 3, 4, 5, 6, 7, t } X 33 X 9 0 s 24 2 9 3 delmin 18 X 14 6 30 15 11 5 5 16 20 7 15 X 6 2 44 4 19 6 t 8
Dijkstra's Shortest Path Algorithm S = { s, 2, 6 } PQ = { 3, 4, 5, 7, t } 32 X 33 X X 9 0 s 24 2 9 18 X 14 30 44 X 11 5 5 16 20 7 15 X 6 2 6 15 3 44 4 19 6 t 9
Dijkstra's Shortest Path Algorithm S = { s, 2, 6 } PQ = { 3, 4, 5, 7, t } 32 X 33 X X 9 0 s 24 2 9 18 X 14 30 44 X 11 5 5 16 20 7 15 X 6 2 6 15 3 44 delmin 4 19 6 t 10
Dijkstra's Shortest Path Algorithm S = { s, 2, 6, 7 } PQ = { 3, 4, 5, t } 32 X 33 X X 9 0 s 24 2 9 18 X 14 30 44 X 35 X 5 5 15 X 11 16 20 7 6 2 6 15 3 44 4 19 6 t 59 X 11
Dijkstra's Shortest Path Algorithm S = { s, 2, 6, 7 } PQ = { 3, 4, 5, t } delmin 32 X 33 X X 9 0 s 24 2 9 18 X 14 30 44 X 35 X 5 5 15 X 11 16 20 7 6 2 6 15 3 44 4 19 6 t 59 X 12
Dijkstra's Shortest Path Algorithm S = { s, 2, 3, 6, 7 } PQ = { 4, 5, t } 32 X 33 X X 9 0 s 24 2 9 18 X 14 30 44 X 35 X 5 5 15 X 11 16 20 7 6 2 6 15 3 44 4 19 6 t 51 59 X X 13
Dijkstra's Shortest Path Algorithm S = { s, 2, 3, 6, 7 } PQ = { 4, 5, t } 32 X 33 X X 9 0 s 24 2 9 18 X 14 30 20 7 15 X 44 X 35 X 5 5 6 2 6 15 3 delmin 44 11 16 4 19 6 t 51 59 X X 14
Dijkstra's Shortest Path Algorithm S = { s, 2, 3, 5, 6, 7 } PQ = { 4, t } 32 X 33 X X 9 0 s 24 2 9 18 X 14 30 44 X 35 X 5 5 15 X 11 16 20 7 6 2 6 15 3 44 45 X 4 19 6 t 50 51 X 59 X X 15
Dijkstra's Shortest Path Algorithm S = { s, 2, 3, 5, 6, 7 } PQ = { 4, t } 32 X 33 X X 9 0 s 24 2 9 18 X 14 30 44 X 35 X 5 5 15 X 11 16 20 7 6 2 6 15 3 44 45 X 4 19 delmin 6 t 50 51 X 59 X X 16
Dijkstra's Shortest Path Algorithm S = { s, 2, 3, 4, 5, 6, 7 } PQ = { t } 32 X 33 X X 9 0 s 24 2 9 18 X 14 30 44 X 35 X 5 5 15 X 11 16 20 7 6 2 6 15 3 44 45 X 4 19 6 t 50 51 X 59 X X 17
Dijkstra's Shortest Path Algorithm S = { s, 2, 3, 4, 5, 6, 7 } PQ = { t } 32 X 33 X X 9 0 s 24 2 9 18 X 14 30 44 X 35 X 5 5 15 X 11 16 20 7 6 2 6 15 3 44 45 X 4 19 6 t delmin 50 51 X 59 X X 18
Dijkstra's Shortest Path Algorithm S = { s, 2, 3, 4, 5, 6, 7, t } PQ = { } 32 X 33 X X 9 0 s 24 2 9 18 X 14 30 44 X 35 X 5 5 15 X 11 16 20 7 6 2 6 15 3 44 45 X 4 19 6 t 50 51 X 59 X X 19
Dijkstra's Shortest Path Algorithm S = { s, 2, 3, 4, 5, 6, 7, t } PQ = { } 32 X 33 X X 9 0 s 24 2 9 18 X 14 30 44 X 35 X 5 5 15 X 11 16 20 7 6 2 6 15 3 44 45 X 4 19 6 t 50 51 X 59 X X 20
- Slides: 20