İçin maksimum akış problemi , geçen yıl olduğu gibi gelişmiş en az biri ile, çok sofistike algoritmalar bir dizi var gibi görünüyor. Orlin'in Maks. O (mn) zamanda akar ya da daha iyisi , O (VE) ile çalışan bir algoritma verir.
Öte yandan, en sık uyguladığım algoritmalar şöyle:
- Edmonds-Karp: ,
- Push-relabel: FIFO vertex seçimini kullanarak veya O ( V 3 ) ,
- Dinic'in Algoritması: .
Asimptotik çalışma süresi daha iyi olan algoritmalar gerçek dünyada problem boyutları için pratik değil midir? Ayrıca, "Dinamik Ağaçlar" ın birkaç algoritmaya karıştığını görüyorum; Bunlar hiç pratikte kullanılıyor mu?
Not: Bu soru başlangıçta yığın taşması ile ilgili olarak burada sorulmuştu , ancak bunun burada daha uygun olacağı söylendi.
EDIT : cs.stackexchange'te , özellikle de bu soruyu izleyen kişiler için ilgi çekebilecek dinamik ağaçlar (aka link-cut ağaçlar) kullanan algoritmalar hakkında ilgili bir soru sordum .