🎓 Bounlu tarafından hazırlandı
21.914 görüntülenme

Çizge Gezintisi: BFS ve DFS Nedir?

Bilgisayar bilimlerinde, özellikle ağlar ve veri yapıları üzerinde gezinirken kullanılan temel algoritmalar, çizge gezintisi algoritmalarıdır. Bunlardan en yaygın olanları Genişlik Öncelikli Arama (BFS) ve Derinlik Öncelikli Arama (DFS)'dir.

Kısa cevap

BFS, bir çizgeyi seviye seviye, yani bir düğümün tüm komşularını ziyaret ettikten sonra bir sonraki seviyeye geçerek gezerken; DFS, bir yolda mümkün olduğunca derine inerek, bir yoldan çıkmaza ulaştığında geri dönüp başka bir yolu deneyerek gezer.

01

Adım adım çözümlü örnekler

Bir sosyal ağda, belirli bir kişiden en yakın arkadaşlarına (1. derece), sonra onların arkadaşlarını (2. derece) ziyaret ederek ulaşmak için hangi algoritma daha uygundur ve neden?

Bu durumda BFS daha uygundur. Çünkü BFS, başlangıç noktasından itibaren eşit uzaklıktaki tüm düğümleri aynı anda ziyaret eder. Bu sayede belirli bir 'derinlikteki' tüm kişilere ulaşmayı sağlar.

Bir labirentte çıkışı bulmak için hangi algoritma daha mantıklıdır ve neden?

DFS, labirent gibi tek bir yolda ilerleyip çıkmaza ulaştığında geri dönerek başka yolları deneyen durumlar için daha uygundur. Çünkü bir yolu sonuna kadar takip etme eğilimindedir.
02

Bilgi kartları

03

Mini test

S1.Bir çizgede en kısa yolu bulmak için genellikle hangi algoritma tercih edilir?

Doğru cevap: B. BFS, ağırlıksız çizge'lerde bir düğümden diğerine olan en kısa yolu (kenar sayısı cinsinden) bulmak için garantilidir. Diğer algoritmalar farklı amaçlar için kullanılır veya ağırlıklı çizge'ler için gereklidir.

S2.Aşağıdakilerden hangisi DFS'nin bir özelliğidir?

Doğru cevap: C. DFS, bir yolda mümkün olduğunca derine inme eğilimindedir. Kuyruk BFS tarafından kullanılır, komşu ve seviye bazlı gezinme ise BFS'nin özellikleridir.

S3.Bir ağdaki tüm cihazları keşfetmek için hangi algoritma daha verimli olabilir?

Doğru cevap: B. BFS, bir kaynaktan başlayarak ağdaki tüm ulaşılabilir düğümleri kademeli olarak keşfetmek için idealdir. Kruskal ve Prim algoritmaları minimum kapsayan ağaçları bulmak için kullanılır.
📄Bu konuyu PDF çalışma kağıdı olarak indirKonu özeti + 10 soru + cevap anahtarı — sınıfta paylaş, yazdır.
04

Sık yapılan hatalar

DFS her zaman en kısa yolu bulur.Doğrusu: DFS en kısa yolu bulmayı garanti etmez, çünkü bir yolu derine kadar takip eder ve daha kısa bir yol olsa bile onu kaçırabilir.

BFS, bir yolda çıkmaza ulaştığında geri dönmez.Doğrusu: BFS, bir seviyedeki tüm komşuları ziyaret ettikten sonra bir sonraki seviyeye geçer. Ancak 'geri dönme' kavramı DFS'nin temel bir özelliğidir.

05

Sıkça sorulan sorular

BFS ve DFS arasındaki temel fark nedir?

Temel fark, gezinme stratejileridir: BFS genişliği keşfederken, DFS derinliği keşfeder.

Hangi durumda BFS, DFS'den daha avantajlıdır?

Bir çizgede en kısa yolu bulmak (ağırlıksız çizge'lerde), tüm olası yolları keşfetmek veya bir kaynaktan belirli bir mesafedeki tüm düğümleri bulmak istendiğinde BFS avantajlıdır.

Hangi durumda DFS, BFS'den daha avantajlıdır?

Bir çizgede bir yolun varlığını kontrol etmek, bir döngü bulmak, bir labirentte gezinmek veya hafıza kullanımı sınırlı olduğunda (bazı durumlarda) DFS avantajlı olabilir.

İlgili konular