[Algo] Floyd-Warshall et matrice des distances
Bonjour à tous
J'ai à résoudre un problème de routage en JAVA
Avec l'algo de Floyd-Warshall en j'ai un problème avec la question de la matrice de distances
Je stocke les liens suivants dans une matrice 2D
Code:
1 2 3 4 5 6 7 8
|
0 1
1 2
2 3
3 4
4 5
5 1
6 7 |
Jutilise le code suivant pour, entre autre, générer la matrice des distances:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
for (int v = 0; v < n; v++) {
matriceDistance[v][v] = INF;
matriceDesSucc[v][v] = -1;
}
for (int i = 0; i < m; i++) {
int u = liens[i][0];
int v = liens[i][1];
matriceDistance[u][v] = 0; //poids
matriceDesSucc[u][v] = v;
}
for (int k = 0; k < n; k++) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (matriceDistance[i][j] > (matriceDistance[i][k] + matriceDistance[k][j])) {
matriceDistance[i][j] = matriceDistance[i][k] + matriceDistance[k][j];
matriceDesSucc[i][j] = matriceDesSucc[i][k];
}
}
}
} |
Mon questionnement se situe à la ligne 8.. Comme calculer le poids d'un lien ?
j'ai cherché partout et dans les exemples ça semble être attribué par hasard....
Éclairez-moi SVP
Merci