12
12
Wiki page:- <https://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm>
13
13
"""
14
14
15
-
16
15
def floyd_warshall (graph , n ):
17
16
"""
18
17
Returns the shortest distance between all pairs of nodes
19
18
20
- >>> floyd_warshall(G1, 6)
19
+ >>> INF = 999999
20
+ >>> G = []
21
+ >>> G.append([0, 2, INF, INF, INF, 3])
22
+ >>> G.append([2, 0, 2, INF, INF, INF])
23
+ >>> G.append([INF, 2, 0, 1, INF, INF])
24
+ >>> G.append([INF, INF, 1, 0, 1, INF])
25
+ >>> G.append([INF, INF, INF, 1, 0, 5])
26
+ >>> G.append([3, INF, INF, INF, 5, 0])
27
+ >>> floyd_warshall(G, 6)
21
28
[\
22
29
[0, 2, 4, 5, 6, 3], \
23
30
[2, 0, 2, 3, 4, 5], \
@@ -35,19 +42,9 @@ def floyd_warshall(graph, n):
35
42
distance [i ][j ] = min (distance [i ][j ], distance [i ][k ] + distance [k ][j ])
36
43
return distance
37
44
38
-
39
- if __name__ == "__main__" :
40
- INF = 999999
41
- G1 = [
42
- [0 , 2 , INF , INF , INF , 3 ],
43
- [2 , 0 , 2 , INF , INF , INF ],
44
- [INF , 2 , 0 , 1 , INF , INF ],
45
- [INF , INF , 1 , 0 , 1 , INF ],
46
- [INF , INF , INF , 1 , 0 , 5 ],
47
- [3 , INF , INF , INF , 5 , 0 ],
48
- ]
45
+ if __name__ == '__main__' :
49
46
"""
50
- Layout of G1 :-
47
+ Layout of G :-
51
48
2 2 1 1 5
52
49
(1) <-----> (2) <-----> (3) <-----> (4) <-----> (5) <-----> (6)
53
50
/\\ /\\
0 commit comments