Bölüm 4.1 · Simülasyon

Çizge Gezinme

← Bölüm 4.1
ziyaret edildikuyrukta / yığında

Hazır.

 

 

Çizge Gezinme Simülatörü

Yönsüz bir çizge oluşturulur; düğümler sürüklenebilir. Genişlik öncelikli arama (BFS) ya da derinlik öncelikli arama (DFS) çizgede adım adım gezinir.

Kullanım

  • Düğüm sayısı (2–20) girilip Çizge Oluştur düğmesine basılır. Her düğüm çifti 0,4 olasılıkla bağlanır; bu yüzden çizge bağlantısız olabilir.
  • Başlangıç düğümü seçilir, ardından BFS ya da DFS çalıştırılır. İptal animasyonu durdurur; Hız temposunu değiştirir.
  • Düğümler fareyle (ya da parmakla) sürüklenerek çizim düzeltilebilir; gezinme sürerken de bu mümkündür.
  • Ziyaret edilen düğümler renklenir ve ziyaret sırasıyla numaralanır; kuyrukta (BFS) ya da yığında (DFS) bekleyen düğümler vurgulanır; ağaç kenarları her düğüme nereden ulaşıldığını gösterir. Komşular artan sırayla incelenir.

Genişlik öncelikli arama

BFS kuyruk kullanır. Bir sonraki derinlik düzeyine geçmeden önce o anda ulaşılabilen tüm komşuları ziyaret eder; bu yüzden BFS ağacı başlangıç düğümünden (kenar sayısı bakımından) en kısa yolları içerir. Zaman karmaşıklığı O(V + E)'dir.

Derinlik öncelikli arama

DFS yığına dayalı bir strateji izler. Geri dönmeden önce bir dalda gidebildiği kadar derine iner. Bu gösterim açık bir yığın kullanır: en küçük komşu önce çıkarılsın diye komşular ters sırayla yığına eklenir (push) ve bir düğüm yığından çıkarıldığında (pop) ziyaret edilmiş sayılır. Zaman karmaşıklığı yine O(V + E)'dir.

Başlangıç düğümünden ulaşılamayan düğümler hiç ziyaret edilmez; durum satırı bunları bildirir.