Önce derinlemesine arama yaptığınız tek öğe çocukların araştırılma sırasıdır. Normal versiyon keyfi sırayla, yani çocukların saklandığı sırayla ilerler.
Gelebileceğim tek alternatif (en kısa yollara doğru) açgözlü bir yaklaşım, çocuklara mevcut düğümden (küçükten büyüğe) mesafelerine göre bakıyor. Bu kural için bir karşı örnek oluşturmak kolaydır:
[ kaynak ]
Şimdi, DFS'nin en kısa yolları bulmasını sağlayacak araştırılacak bir sonraki çocuğu seçme stratejisi olmadığının kanıtı yok.
Bununla birlikte, kural ne olursa olsun - açgözlü kural için yaptığım gibi, DFS'nin ilk düğümde uzun bir sapma işlemesi olan grafikler oluşturabilirsiniz. Atama kenarları ve ( s , bir ) kural seçer ziyaret etmek için ağırlıklar örneğin bir birinci ve ata ( a , b )( s , t )( s , a )bir( a , b ) bir daha büyük bir ağırlık daha büyük . Bu nedenle, DFS'nin asla en kısa yolları bulamaması mantıklıdır (genel grafiklerde).( s , t )
Her (pozitif-tamsayı-) ağırlıklı grafiği ağırlıksız grafik olarak ifade edebildiğiniz için - kenarları maliyet ile c - 1 düğümlü bir zincirle değiştirmeniz yeterlidir - aynı örnekler ağırlıksız grafiklerde DFS ile ilgilidir. Burada durum daha da kasvetli: ağırlıklar olmadan, DFS ziyaret edilecek bir sonraki çocuğu belirlemek için ne kullanabilir?cc - 1
- Kural belirleyici olduğu sürece. Değilse, her zaman en kısa yolları bulamaz.