Vous pouvez essayer de créer une version de Floyd-Warshall plus rapide sur des matrices clairsemées.
Rappelons d'abord ce que fait cet algorithme:
Soit une matrice de distances. Au début de l'algorithme M i , j est le poids du bord i → j . Si cette arête n'existe pas alors M i , j = ∞ .MMi , ji → jMi , j= ∞
L'algorithme a étapes. À l'étape k de l'algorithme, pour chaque paire de nœuds i , j nous définissonsVki , j
Mi , j← min { Mi , j, Mi , k+ Mk , j} .
Mi , k= ∞Mk , j= ∞rée gje n( k ) ⋅ de go u t( k )rée gje n( k )rée go u t( k )kM
k
E= O (V)k = 0O ( 1 )MO ( V)k = | V|O ( V2)O ( V3)