diff --git a/Algorithms/Floyd-Warshall_Algorithm.py b/Algorithms/Floyd-Warshall_Algorithm.py new file mode 100644 index 0000000..87c6d83 --- /dev/null +++ b/Algorithms/Floyd-Warshall_Algorithm.py @@ -0,0 +1,32 @@ + +nV = 4 + +INF = 999 + + +def floyd_warshall(G): + distance = list(map(lambda i: list(map(lambda j: j, i)), G)) + + + for k in range(nV): + for i in range(nV): + for j in range(nV): + distance[i][j] = min(distance[i][j], distance[i][k] + distance[k][j]) + print_solution(distance) + + +def print_solution(distance): + for i in range(nV): + for j in range(nV): + if(distance[i][j] == INF): + print("INF", end=" ") + else: + print(distance[i][j], end=" ") + print(" ") + + +G = [[0, 3, INF, 5], + [2, 0, INF, 4], + [INF, 1, 0, INF], + [INF, INF, 2, 0]] +floyd_warshall(G)