Untuk masalah aliran maksimum , tampaknya ada sejumlah algoritma yang sangat canggih, dengan setidaknya satu dikembangkan baru-baru ini tahun lalu. Max Orlin mengalir dalam waktu O (mn) atau lebih baik memberikan algoritma yang berjalan dalam O (VE).
Di sisi lain, algoritma yang paling sering saya lihat diimplementasikan adalah (Saya tidak mengklaim telah melakukan pencarian lengkap; ini hanya dari pengamatan biasa):
- Edmonds-Karp: ,
- Push-relabel: atau menggunakan pilihan vertex FIFO,
- Algoritma Dinic: .
Apakah algoritma dengan waktu berjalan asimptotik yang lebih baik tidak praktis untuk ukuran masalah di dunia nyata? Juga, saya melihat "Dynamic Trees" terlibat dalam beberapa algoritma; apakah ini pernah digunakan dalam praktek?
Catatan: pertanyaan ini awalnya ditanyakan pada stack overflow, di sini , tapi saya diberitahu akan lebih cocok di sini.
EDIT : Saya mengajukan pertanyaan terkait pada cs.stackexchange , khususnya tentang algoritme yang menggunakan pohon dinamis (alias pohon potongan tautan), yang mungkin menarik bagi orang yang mengikuti pertanyaan ini.