En az duraklı yolu bul. Kenar ağırlıklarını görmezden gel, sadece katman katman genişle. Metro planlaması, sosyal ağ analizi, bağlantı dereceleri — hepsi BFS'in işi.
Sol paneldeki Kuyruk (FIFO)'un en üstündeki düğüme her zaman tıkla. BFS katman katman genişler — ilk gelen ilk çıkar. Ağırlık yazmayan kenarlarda en az aktarmalı yolu bu şekilde bulursun.
6–7 düğüm. İlk 3 hamlede ipucu görünür. 3 can.
7–8 düğüm. İpucu yok. 3 can. Metro senaryosu.
8–10 düğüm. İpucu yok. 2 can. Tahliye senaryosu.
—
"Genişlik" ne demek? Başlangıç noktasından eşit "adım" uzaklığındaki tüm düğümleri aynı anda ziyaret etmek demek. Önce 1 kenar uzaktakiler, sonra 2 kenar uzaktakiler...
Benzetme: Göle attığın bir taşın oluşturduğu dalgalar gibi — dalga başlangıç noktasından eşit hızla, halka halka, katman katman dışa yayılır.
"Kuyruk (FIFO)" ne demek? FIFO = First In, First Out (ilk giren ilk çıkar). Bir markette sıraya giren ilk müşteri gibi: bir düğüm kuyruğa ne zaman eklendiyse, o sırayla işlenir.
Neden ağırlık önemsiz? BFS sadece "kaç kenar geçtin"i sayar, kenarların üzerindeki sayıları hiç okumaz. Bu yüzden tüm kenarlar eşitmiş gibi davranılan "en az durak" problemlerinde idealdir.
3 BFS görevini başarıyla bitirdin. Katman katman genişleyerek
en az duraklı yolu nasıl bulacağını artık deneyimledin.
Diğer algoritmaları da denemek ister misin?