Bonjour,
Je poste ce message car je suis confronté à un problème : j’ai implémenté en Python l’algorithme de Floyd-Warshall en Python comme suit :
def FloydWarshall(G, n):
"""Cette fonction trouve le plus court chemin d'un Ge G entre un sommet de départ et un sommet d'arrivee (la destination) à l'aide de l'algorithme de Floyd-Warshall.
G est la matrice d'adjacence du graphe et n la taille de celle-ci (une matrice d'adjacence est une matrice carrée de taille n*n)"""
graphe = G.copy() # On copie la liste de départ pour éviter de réecrire par-dessus
# On applique directement la formule de l'algorithme
for k in range(n):
for i in range(n):
for j in range(n):
graphe[i][j] = min(graphe[i][j], graphe[i][k] + graphe[k][j])
return graphe # Renvoie une matrice du coût de chaque trajet
Cette fonction marche parfaitement en renvoyant la matrice des distances entre chaque sommet mais j’aimerai maintenant modifier cette fonction afin qu’elle puisse aussi renvoyer le chemin le plus court entre chaque sommets, mais je ne vois pas trop comment faire… Serait-il possible de me donner des pistes ?
Je vous remercie par avance pour votre réponse !
+0
-0