Download presentation

Presentation is loading. Please wait.

Published byDimitri Erwin Modified over 3 years ago

1
Shortest paths and transitive closure Data structure 2002/12/4

2
Is there a path? How short it can be? Single source/ All destinations –Nonnegative edge costs –General weights All-pairs shortest path Transitive closure

3
Single source all destinations Dijkstra’s algorithm A spanning tree again For nonnegative edge costs (Why?) Start from a vertex v, greedy method dist[w]: the shortest length to w through S v u w length( ) dist[w] dist[u]

4
shortest() Void shortestpath(int v, int cost[][MAX_VERTICES], int dist [], int n, int found[]) { int i,u,w; for (i=0;i

5
An example 1 0 2 7 3 4 5 6 San Francisco Los Angeles Denver Chicago Boston New York Miami New Orleans 1500 250 1000 900 1400 1000 1700 1200 800 1000 300

6
Single source all destinations BellmanFord algorithm For general weights Path has at most n-1 edges, otherwise… dist k [u]: from v to u, has at most k edges 0 1 2 3 4 5 6 6 5 5 1 -2 3 3

7
BellmanFord() Void BellmanFord(int n, int v) { int i,k; for (i =0;i

8
All-Pairs shortest paths 執行 n 次 single source all destinations algo. Dynamic programming strategy – 利用 recursive formula 來表示 – 好好地 implement recursive formula, 用 table 輔助 A k [i][j] ≡ shortest length from i to j through no intermediate vertex greater than k A -1 [i][j] = length[i][j] A k [i][j] = min{A k-1 [i][j], A k-1 [i][k]+ A k-1 [k][j], k≥0

9
AllLengths() Void AllLength(int n) { int i,j,k; for(i=0;i

10
Transitive closure Definition: transitive closure matrix, A + –A + [i][j] = 1, if there’s a path of length > 0 from i to j –A + [i][j] = 0, otherwise Definition: reflexive transitive closure matrix, A* –A*[i][j] = 1, if there’s a path of length >= 0 from i to j –A*[i][j] = 0, otherwise O(n^3), by AllLengths() O(n^2), an undirected graph, by connected check

Similar presentations

Presentation is loading. Please wait....

OK

Bellman-Ford algorithm

Bellman-Ford algorithm

© 2018 SlidePlayer.com Inc.

All rights reserved.

To ensure the functioning of the site, we use **cookies**. We share information about your activities on the site with our partners and Google partners: social networks and companies engaged in advertising and web analytics. For more information, see the Privacy Policy and Google Privacy & Terms.
Your consent to our cookies if you continue to use this website.

Ads by Google

Ppt on mumbai terror attack 26/11 Best ppt on ozone layer Ppt on different types of dance forms of france Ppt on normal distribution Viewer ppt online training What does appt only meaning Ppt on different types of computer viruses Ppt on mpeg audio compression and decompression software Ppt on west central railway Ppt on channels of communication