Pour le problème du débit maximal , il semble y avoir un certain nombre d'algorithmes très sophistiqués, avec au moins un développé aussi récemment que l'année dernière. Le débit maximal d'Orlin en O (mn) temps ou mieux donne un algorithme qui s'exécute en O (VE).
D'un autre côté, les algorithmes que je vois le plus souvent implémentés sont (je ne prétends pas avoir fait une recherche exhaustive; c'est juste par observation occasionnelle):
- Edmonds-Karp: ,
- Push-relabel: ou utilisant la sélection de sommets FIFO,O ( V 3 )
- Algorithme de Dinic: .
Les algorithmes avec un meilleur temps de fonctionnement asymptotique ne sont-ils tout simplement pas pratiques pour les tailles de problème dans le monde réel? De plus, je vois que les "arbres dynamiques" sont impliqués dans plusieurs algorithmes; sont-ils déjà utilisés dans la pratique?
Remarque: cette question a été initialement posée sur le débordement de pile, ici , mais on m'a dit que ce serait mieux ici.
EDIT : J'ai posé une question connexe sur cs.stackexchange , en particulier sur les algorithmes qui utilisent des arbres dynamiques (aka arbres coupés de liens), qui peuvent être intéressants pour les personnes qui suivent cette question.