Pertanyaan ini adalah tentang kompleksitas waktu dari algoritma aliran maksimum Ford-Fulkerson ketika menggunakan DFS untuk menemukan jalur tambahan.
Ada contoh terkenal yang menunjukkan bahwa menggunakan DFS seseorang dapat memerlukan jumlah iterasi linier dalam aliran maksimum, lihat misalnya halaman Wikipedia yang ditautkan di atas.
Namun, saya tidak benar-benar yakin dengan contoh ini: implementasi DFS standar tidak akan menunjukkan perilaku bolak-balik antara B dan C sebagai simpul pertama jalur (menggunakan nama vertex dari halaman Wikipedia).
Jadi, mari kita terapkan kondisi yang sangat alami bahwa setiap kali DFS mengunjungi simpul , selalu memeriksa tetangga Anda dalam urutan yang sama. Apakah masih ada contoh dimana FF dengan DFS menggunakan sejumlah besar iterasi?
Sebagai varian, anggaplah bahwa kita memiliki properti tambahan yang urutan tetangganya berbeda konsisten dengan beberapa pemesanan global yang tetap namun tetap dari simpul tersebut. Apakah itu membuat perbedaan?
Bagi saya, ini sepertinya pertanyaan mendasar; Saya minta maaf sebelumnya jika jawabannya sudah diketahui tetapi saya bukan pakar arus dan beberapa Google tidak menemukan apa pun.
Sunting: Jawabannya ternyata ya, masih ada contoh. Lihat Gambar 2 dari makalah ini . Dalam contoh-contoh ini FF dengan DFS mengambil jumlah iterasi (dalam jumlah simpul) yang berulang. Tampaknya mudah untuk membuktikan bahwa ini ketat, yaitu, bahwa jumlah iterasi selalu dibatasi oleh (terlepas dari nilai kapasitas).