lecture12graphs2 - 1 Weighted Graph Algorithms. Weighted...

Info iconThis preview shows pages 1–15. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 1 Weighted Graph Algorithms. Weighted Shortest Path Problems Dijkstras algorithm All Pairs Shortest Path Warshalls algorithm Minimum spanning trees Prims algorithm 2 Been there, done that! 3 Shortest-Path in Weighted Graphs Weight w(i, j) associated with each edge (v i , v j ). [sometimes youll see c(i,j)] The cost of a path v 1 v 2 ..v n is Find the shortest weighted path from s to every other vertex in G. Single Source Shortest Path 1- = + 1 1 ) 1 , ( n i i i w 4 Shortest-Path Problem Solutions Unweighted Breadth First Search Non-negative Weights Dijkstras Algorithm Negative weights with no negative cycles Bellman-Ford Algorithm Negative cycles No solution 5 Dijkstras Algorithm Dijkstra (G, v) foreach x V x.dist ; Initially all nodes infinite distance x.p nil ; and no known parent x.known false Q.insert(x) ; Insert into priority queue by dist Q.decreasekey(v, 0) ; Zero distance to first vertex while Q not empty v Q.deletemin() ; Vertex at minimum distance v.known = true foreach x such that (v,x) E and !x.known if v.dist + w(v,x) < x.dist then Q.decreasekey(x, v.dist + w(v,x) ) x.p v 6 Example v 3 2 v 6 v 5 v 4 v 2 v 7 4 10 1 3 2 5 8 1 4 2 6 v d v v 1 v 2 v 3 v 4 v 5 v 6 v 7 Initialization Priority Queue v 7 Example v d v v 4 1 v 2 2 v 3 v 5 v 6 v 7 Priority Queue Process v 1 v 3 2 v 6 v 5 v v v v 7 4 10 1 3 2 5 8 1 4 2 6 2 1 8 Example v d v v 2 2 v 3 3 v 5 3 v 7 5 v 6 9 Priority Queue Process v 4 v 2 v v v v v v 4 10 1 3 2 5 8 1 4 2 6 2 1 3 3 5 9 9 Example v d v v 3 3 v 5 3 v 7 5 v 6 9 Priority Queue Process v 2 v 2 v v v v v v 4 10 1 3 2 5 8 1 4 2 6 2 1 3 3 5 9 V 4 already known V 5 not shorter 10 Example v d v v 5 3 v 7 5 v 6 8 Priority Queue Process v 3 v 2 v v v v v v 4 10 1 3 2 5 8 1 4 2 6 2 1 3 3 5 8 V 1 already known V 6 shorter 11 Example v d v v 7 5 v 6 8 Priority Queue Process v 5 v 2 v v v v v v 4 10 1 3 2 5 8 1 4 2 6 2 1 3 3 5 8 V 7 not shorter 12 Example v d v v 6 6 Priority Queue Process v 7 v 2 v v v v v v 4 10 1 3 2 5 8 1 4 2 6 2 1 3 3 5 6 V 6 shorter 13 Example v d v Priority Queue Process v 6 v 2 v v v v v v 4 10 1 3 2 5 8 1 4 2 6 2 1 3 3 5 6 We be done! 14 Dijkstras Algorithm Dijkstra (G, v) foreach x...
View Full Document

Page1 / 60

lecture12graphs2 - 1 Weighted Graph Algorithms. Weighted...

This preview shows document pages 1 - 15. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online