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

Genişlik Öncelikli Arama (BFS) Nedir?

Genişlik Öncelikli Arama (BFS), bir graf veya ağaç yapısındaki düğümleri keşfetmek için kullanılan temel bir arama algoritmasıdır. Belirli bir başlangıç düğümünden başlayarak, komşu düğümleri seviye seviye ziyaret eder.

Kısa cevap

BFS, bir başlangıç düğümünden başlayarak, bu düğüme en yakın olan tüm komşuları ziyaret eder, ardından bu komşuların komşularını ziyaret eder ve bu şekilde devam ederek grafı katman katman tarar.

01

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

Bir sosyal ağda, belirli bir kişiden 'k' adım uzaklıktaki herkesi bulmak için BFS nasıl kullanılır?

1. Başlangıç kişisini bir kuyruğa ekleyin. 2. Kişinin arkadaşlarını (komşularını) kuyruğa ekleyin ve ziyaret edildi olarak işaretleyin (1 adım). 3. Kuyruktan bir kişi çıkarın, onun işaretlenmemiş arkadaşlarını kuyruğa ekleyin ve ziyaret edildi olarak işaretleyin (2 adım). 4. Bu işlemi 'k' adıma ulaşana kadar tekrarlayın.

Bir web tarayıcısının, bir web sitesindeki tüm sayfaları belirli bir derinliğe kadar dizine eklemesi için BFS nasıl kullanılabilir?

1. Başlangıç URL'sini bir kuyruğa ekleyin. 2. URL'yi ziyaret edin ve içerdiği tüm bağlantıları kuyruğa ekleyin (derinlik 1). 3. Kuyruktan bir URL çıkarın, ziyaret edin ve içerdiği tüm bağlantıları kuyruğa ekleyin (derinlik 2). 4. Bu işlemi istenen derinliğe ulaşana kadar devam ettirin.
02

Bilgi kartları

03

Mini test

S1.BFS, hangi tür graf problemlerinde en etkilidir?

Doğru cevap: A. BFS, ağırlıksız graf'larda başlangıç düğümünden diğer tüm düğümlere olan en kısa yolu bulmak için idealdir.

S2.BFS'de bir düğümün komşuları ne zaman ziyaret edilir?

Doğru cevap: D. Bir düğüm kuyruktan çıkarılıp işlendiğinde, onun henüz ziyaret edilmemiş komşuları keşfedilir ve kuyruğa eklenir.

S3.DFS (Derinlik Öncelikli Arama) ile karşılaştırıldığında BFS'nin temel farkı nedir?

Doğru cevap: C. BFS genişliği önceliklendirerek katman katman ilerlerken, DFS derinliği önceliklendirerek bir yolda mümkün olduğunca ilerler.
📄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

BFS, bir grafı rastgele sırayla tarar.Doğrusu: BFS, bir grafı başlangıç düğümünden başlayarak seviye seviye (genişlik öncelikli) tarar.

BFS, en uzun yolu bulmak için kullanılır.Doğrusu: BFS, genellikle ağırlıksız graf'larda en kısa yolu bulmak için kullanılır.

05

Sıkça sorulan sorular

BFS hangi alanlarda kullanılır?

BFS, ağ yönlendirme algoritmaları, en kısa yol bulma (örneğin, Google Haritalar'da), web tarayıcılarının web sayfalarını dizine eklemesi, sosyal ağ analizi ve yapay zeka gibi birçok alanda kullanılır.

BFS ve DFS arasındaki temel fark nedir?

BFS, düğümleri seviye seviye (genişlik öncelikli) keşfederken, DFS bir dalı mümkün olduğunca derinlemesine (derinlik öncelikli) keşfeder. BFS genellikle en kısa yolu bulmak için, DFS ise bir yolun varlığını kontrol etmek veya tüm düğümleri ziyaret etmek için kullanılır.

BFS'nin döngüleri nasıl ele aldığına dair bir örnek verebilir misiniz?

BFS, bir düğümü tekrar tekrar ziyaret etmemek için 'ziyaret edildi' işaretlemesi kullanır. Bir düğüm daha önce ziyaret edildiyse, tekrar kuyruğa eklenmez ve işlenmez, bu da sonsuz döngüleri önler.

İlgili konular