Bu soru, artırma yollarını bulmak için DFS kullanırken Ford-Fulkerson maksimum akış algoritmasının zaman karmaşıklığı ile ilgilidir .
DFS'nin kullanılmasının, maksimum akışta doğrusal bir sayıda yinelemeye ihtiyaç duyabileceğini gösteren iyi bilinen bir örnek vardır, örneğin yukarıdan bağlantılı Wikipedia sayfasına bakın.
Bununla birlikte, bu örnekle gerçekten ikna olmadım: standart bir DFS uygulaması, yolun ilk düğümü olarak B ve C arasında geçiş yapma davranışını göstermez (Wikipedia sayfasındaki köşe adlarını kullanarak).
Yani, bizi çok doğal koşulu empoze izin DFS ziyaret bir düğüm zaman o , her zaman komşularını inceler u aynı sırada. DFS'li FF'nin çok fazla yineleme kullandığı örnekler var mı?
Bir değişken olarak, farklı komşu sıralamasının köşelerin bazı keyfi ama sabit bir küresel sıralamasıyla tutarlı olduğu ek özelliğine sahip olduğumuzu varsayalım. Bu bir fark yaratır mı?
Bu bana oldukça basit bir soru gibi görünüyor; Cevap iyi biliniyorsa şimdiden özür dilerim ancak akış konusunda uzman değilim ve bir miktar googling bir şey bulamadı.
Düzenleme: Cevabın evet olduğu ortaya çıkıyor, hala örnekler var. Bu yazının Şekil 2'ye bakınız . Bu örneklerde DFS ile FF, üssel (tepe sayısında) yineleme sayısını alır. Bunun sıkı olduğunu kanıtlamak kolaydır, yani, yineleme sayısının her zaman sınırlandırıldığını (kapasitelerin değerlerinden bağımsız olarak).