blob: 30d463a6ca3c881b534efefac23693b3c7683bc7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
|
// Laufzeit: O(|V|^3)
// Initialize adjmat: adjmat[i][i] = 0, adjmat[i][j] = INF if no edge is between i and j, length otherwise.
void floydWarshall() {
for (k = 0; k < NUM_VERTICES; k++) {
for (i = 0; i < NUM_VERTICES; i++) {
for (j = 0; j < NUM_VERTICES; j++) {
if (adjmat[i][k] + adjmat[k][j] < adjmat[i][j]) adjmat[i][j] = adjmat[i][k] + adjmat[k][j];
}
}
}
}
|