Download presentation

Presentation is loading. Please wait.

Published byHaden Hosken Modified over 4 years ago

1
The Greedy Approach Chapter 8

2
The Greedy Approach It’s a design technique for solving optimization problems Based on finding optimal local solutions which may lead to optimal global one. Walk slowly but surely. At each step choose the best choice & hopefully it will be part of the optimal global solution.

3
The Single-source Shortest Path Problem Section 8.2

4
Problem Let G=(V,E) be a directed weighted graph where each edge has a length 0. Let s V be a certain vertex called the source. For simplicity, let V={1,2,..,n}, s=1 Find all [u] =distance from s to any vertex u.

5
Dijkstra’s Solution Divide V into two disjoint sets X and Y where X contains all vertices whose distances from 1have been already determined. So X={1} initially At each step, choose y Y whose [y] is min where [y]= length of shortest path from 1 to y walking through X only. 1 X Y y [y]

6
Dijkstra’s Solution Move y to X and remove it from Y Update [w], for all w Y that is adjacent to y. Claim: when y is moved to X then [y] = [y] y Y X

7
Algorithm: Dijkstra Input: weighted graph G=(V,E) Output: distances from 1 to every vertex X {1}; Y V - {1}; [1] 0 For y 2 to n if y is adjacent to 1 then [y] length[1,y] else [1] end for for i 1 to n-1 let y be the vertex with min [y] in Y X X {y}; Y Y-{y} for each edge (y,w) z [y] +length[y,w] if (w Y and z < [w]) then [w] z end for

8
Analysis Time = (m + n 2 ) = (n 2 ), where m is the number of edges. Notice that finding the min [y] costs (n) time

9
Implementation The graph G should be saved as adjacency list. Costs (m + n) space, where m is the number of edges Use binary arrays to represent the sets X and Y. Notice that Y= X c

10
Correction When a vertex y is moved to the set X and [y] is finite then [y] = [y]

11
Improving Dijkstra The time can be improved to (m log n) if m=o(n 2 /log n) by using min-heap to find the min [y]. Notice that updating the heap takes O(log n) time there could be at most m updates.

Similar presentations

© 2019 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google