https://github.com/emahtab/floyd-warshall-algorithm
https://github.com/emahtab/floyd-warshall-algorithm
floyd-warshall-algorithm graph shortest-path
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/emahtab/floyd-warshall-algorithm
- Owner: eMahtab
- Created: 2022-01-02T05:54:34.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-01-03T02:10:50.000Z (almost 4 years ago)
- Last Synced: 2025-02-02T03:25:28.928Z (9 months ago)
- Topics: floyd-warshall-algorithm, graph, shortest-path
- Homepage:
- Size: 5.86 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Floyd Warshall Algorithm
Floyd Warshall algorithm is used to find the shortest ath from any vertex to any other vertex in a weighted graph.
## Algorithm:
1. Create a 2D array `matrix` of n * n , where n is the number of vertices in the weighted graph
2. Initialize the 2D array `matrix[i][i] = 0` and all other cells as `matrix[i][j] = Integer.MAX_VALUE (some higher value)`
3. Loop over the 2D array n times, k = 0 to less than n, and update the matrix[i][j] as below
```java
for(int k = 0; k < N; k++)
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
matrix[i][j] = Math.min(matrix[i][j], matrix[i][k] + matrix[k][j]);
```
4. At the end we will have the shorted path from any vertex i to any vertex j in the matrix.
# References :
https://www.youtube.com/watch?v=oNI0rf2P9gE
# Problems :
1. https://leetcode.com/problems/network-delay-time
2. https://leetcode.com/problems/course-schedule-iv