Graf.

Slides:



Advertisements
Benzer bir sunumlar
el ma 1Erdoğan ÖZTÜRK ma ma 2 Em re 3 E ren 4.
Advertisements

Ders İçeriği Ağaç Veri Modeli Tanım ve Gerçekleştirim İkili Ağaç
Yrd. Doç. Dr. Mustafa Akkol
Prof.Dr.Şaban EREN Yasar Üniversitesi Fen-Edebiyat Fakültesi
Değişkenler ve bellek Değişkenler
T.C. İNÖNÜ ÜNİVERSİTESİ Arapgir Meslek YÜKSEKOKULU
Eğitim Programı Kurulum Aşamaları E. Savaş Başcı ASO 1. ORGANİZE SANAYİ BÖLGESİ AVRUPA BİLGİSAYAR YERKİNLİĞİ SERTİFİKASI EĞİTİM PROJESİ (OBİYEP)
KİŞİSEL KAMP MALZEMEN Kamp malzemelerini şu ana başlıklar altında düşünebilirsin. Uyku malzemesi Yemek malzemesi Temizlik malzemesi Zorluklara karşı hazır.
KÜMELER.
Atlayarak Sayalım Birer sayalım
BEIER CÜMLE TAMAMLAMA TESTİ
Diferansiyel Denklemler
JEODEZİ I Doç.Dr. Ersoy ARSLAN.
ÖRNEKLEME DAĞILIŞLARI VE TAHMİNLEYİCİLERİN ÖZELLİKLERİ
Silme Anahtar hedefi silmek için, x yaprağında buluruz ve sonra sileriz. Dikkat edilmesi gereken iki durum vardır. (1) Hedef bazı iç düğümlerde bir anahtar.
BEIER CÜMLE TAMAMLAMA TESTİ
5) DOĞRUSAL DENKLEM SİSTEMLERİNİN SAYISAL ÇÖZÜMLERİ
Algoritmalar En kısa yollar I En kısa yolların özellikleri
Algoritmalar DERS 2 Asimptotik Notasyon O-, Ω-, ve Θ-notasyonları
İçerik Ön Tanımlar En Kısa Yol Problemi Yol, Cevrim(çember)
MIT503 Veri Yapıları ve algoritmalar En önemli graf problemleri
KIR ÇİÇEKLERİM’ E RakamlarImIz Akhisar Koleji 1/A.
HİSTOGRAM OLUŞTURMA VE YORUMLAMA
ETİK ve İTİBAR YÖNETİMİ
Prof. Dr. Leyla Küçükahmet
MÜRŞİT BEKTAŞ 1-A SINIFI
İkili Arama Ağaçları (Binary Search Trees) BST
Algoritmalar DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama
Algoritmalar Ders 14 En Kısa Yollar II Bellman-Ford algoritması
TOPLAMA İŞLEMİNDE VERİLMEYEN TOPLANANI BULMA
HAZIRLAYAN:SAVAŞ TURAN AKKOYUNLU İLKÖĞRETİM OKULU 2/D SINIFI
ÖRNEKLEM VE ÖRNEKLEME Dr.A.Tevfik SÜNTER.
Çizge Algoritmaları.
ARALARINDA ASAL SAYILAR
TÜRKİYE KAMU HASTANELERİ KURUMU
İL KOORDİNASYON KURULU I.NCİ DÖNEM TOPLANTISI
İçerik: Graflar Tanım Gösterim Dolaşma Algoritmaları
Matematik 2 Örüntü Alıştırmaları.
MATRİSLER ve DETERMİNANTLAR
ÇİZGELERİN GÖSTERİMİ Yılmaz KILIÇASLAN. Sunu Planı Bu derste, çizgelerin bilgisayarda gösterimine ilişkin iki standart yaklaşımı inceleyeceğiz.
MIT503 Veri Yapıları ve algoritmalar Veri ağaçları
Tam sayılarda bölme ve çarpma işlemi
PÇAĞEXER / SAYILAR Ali İhsan TARI İnş. Yük. Müh. F5 tuşu slaytları çalıştırmaktadır.
4 X x X X X
Mukavemet II Strength of Materials II
Chapter 6: Using Arrays.
ÇİZGELERİN GÖSTERİMİ Yılmaz KILIÇASLAN.
Yard. Doç. Dr. Mustafa Akkol
Strateji Geliştirme Başkanlığı 1 DÜNYA EKONOMİSİ REEL SEKTÖR.
GRAPHS ÖZET.
BİL551 – YAPAY ZEKA BİLGİSİZ ARAMA YÖNTEMLERİ
ANA BABA TUTUMU ENVANTERİ
1 DEĞİŞMEYİN !!!
Tuğçe ÖZTOP İlköğretim Matematik Öğretmenliği 2. sınıf
Çocuklar,sayılar arasındaki İlişkiyi fark ettiniz mi?
HAYAT BİLGİSİ SORULARI.
ÇOK DEĞİŞKENLİ FONKSİYONLARDA
ECHİNODERMATA Kambriyen – Güncel tümüyle denizel Filum
PÇAĞEXER / SAYILAR Ali İhsan TARI İnş. Yük. Müh. F5 tuşu slaytları çalıştırmaktadır.
ÖĞR. GRV. Ş.ENGIN ŞAHİN BİLGİ VE İLETİŞİM TEKNOLOJİSİ.
Diferansiyel Denklemler
Çizge Algoritmaları Ders 2.
Çizgeler Çizge G=(V,E), ikilisine denir, burada V sonlu bir kümedir, E ise bu kümenin elemanları arasında ikili bir bağıntıdır. V kümesine G çizgesinin.
Çizge Algoritmalari 6. ders.
Çizge gösterimleri G = (V, E) çizgesinin komşuluk listesi gösterimi
Algoritmalar II Ders 11 Çizgeler. Çizgelerin bilgisayarda gösterimi. BFS algoritması.
Çizge Algoritmalari 5. ders.
İleri Algoritmalar Ders 3.
Sunum transkripti:

Graf

Graflar Problemlerin modellenmesinde çok kullanışlıdır İçeriği: Düğümler - Vertices Kenarlar - Edges Kenarlar bağlantıları gösterir. D E C A F B düğüm kenar

Uygulamalar Uçuş sistemi Herbir düğüm bir şehri gösterir Herbir kenar iki şehir arasındaki doğrudan uçuşu gösterir Doğrudan uçuşların sorgulanmasında cevap bir kenardır. Bir yere ulaşmak için “A’ dan B’ ye yol varmı” sorusu sorulur. Maaliyetleri kenarlara bile ekleyebiliriz. (ağırlıklı - weighted graflar), daha sonra “A’dan B’ ye en ucuz yol hangisidir” diye sorabiliriz.

Another application Wireless communication Can be represented by a weighted complete graph (every two vertices are connected by an edge). Each edge represents the Euclidean distance dij between two stations. Each station uses a certain power i to transmit messages. Given this power i, only a few nodes can be reached (bold edges). A station reachable by i then use its own power to relay the message to other stations not reachable by i. A typical wireless communication problem is: how to broadcast between all stations such that they are all connected and the power consumption is minimized.

Tanım Yönlendirilmemiş Graf Bir yönlendirilmemiş graf sıralı bir ikili ile gösterilir (V,E), V düğümler kümesidir ve E kenarlar kümesidir. {c,f} {a,c} {a,b} {b,d} {c,d} {e,f} {b,e}

Terminoloji Eğer v1 ve v2 bağlantılı iseler, bitişik düğümler olarak isimlendirilirler. v1 ve v2 , {v1, v2} kenarının son noktalarıdır. Eğer bir kenar e is v’ ye bağlı ise , v, e’ ye gelen (incident) olarak isimlendirilir. Ayrıca, kenar e, v’ye gelen olarak isimlendirilir. {v1, v2} = {v2, v1}*

Graf Gösterimi İki popüler gösterim vardır. Her ikisi de farklı yönlerden düğüm ve kenar kümelerini gösterir. Komşuluk Matrisi Grafı göstermek için ‘D matris kullanılır. Komşuluk Listesi Bağlantılı listelerin bir boyutlu dizisi kullanılır.

Komşuluk Matrisi Alan karmaşıklığı Θ(n2). Eğer graf az kenara sahipse etkili değil . O(1) zamanda iki düğümün bağlı olup olmadığını bulur.

Komşuluk Listesi

Örnek 1 2 3 4 5 6 7 8 9 2 4 3 5 1 7 6 9 8

Örnek 1 2 3 4 5 6 7 8 9 8 2 4 3 5 1 7 6 9 8 2 3 7 9 1 4 8 1 4 5 2 3 3 6 5 7 1 6 2 9 1 8

Komşuluk matrisinin depolanması Dizi Θ(n) kadar alan tutar. v derecesini tanımla, deg(v), v’ye gelen (giriş) kenarların sayısını tutar. Öyleyse, grafı depolamak için gereken alan aşağıdaki ile orantılıdır. Grafın bir kenarı e={u,v}, deg(u) değerini bir attırır ve deg(v) değerini 1 arttırır. Böylece , Σvertex vdeg(v) = 2m, m kenarların toplamıdır. Sonuç olarak, komşuluk listesi Θ(n+m) kadar yer tutar. Eğer m = O(n2), komşuluk matrisinin ve listesinin herikiside Θ(n2) kadar alan kullanır. Eğer m = O(n), komşuluk listesi, komşuluk matrisinden daha avantajlıdır. Buna karşılık, hiçkimse O(1) zaman biriminde iki düğümün bağlı olup olmadığını söyleyemez.

Komşulık Listesinin ve Matrisinin Karşılaştırılması Komşuluk Listeleri Komşuluk matrislerinden daha az yer kaplar eğer graf az kenara sahipse Eğer bir kenar varsa, kenarın bulunması için daha fazla zaman harcanır. Komşuluk Matrisi Her zaman n2 alan gerektirir Eğer kenarlar seyrekse, alan israfına yol açar Eğer bir kenar varsa kolaylıkla bulunabilir

Düğümler arası yol Bir yol (path ) düğümlerin bir sırasıdır (v0, v1, v2,… vk) öyleki: 0 ≤ i < k için , {vi, vi+1} bir kenardır 0 ≤ i < k-1 için, vi ≠ vi+2 Yani, kenarlar {vi, vi+1} ≠ {vi+1, vi+2} Not: bir yolun aynı düğüm veya aynı kenar üzerinden herhangi bir sayıda geçmesine izin verilmiştir. Bir yolun uzunluğu (length ) yol üzerindeki kenar sayısının toplamıdır.

Yol Tipleri Bir yol basittir (simple ) ancak ve ancak bir düğüm bir yolda birden fazla kullanılmamışsa. Bir yol döngüdür (cycle ) ancak ve ancak v0= vk Başlangıç ve bitiş aynı düğüm! Bir yol birden fazla döngü içerebilir eğer bazı düğümler iki veya daha fazla görünürse

Örnekler Bunlar bir yol mu? Döngü var mı? Yolun uzunluğu nedir? {a,c,f,e} {a,b,d,c,f,e} {a, c, d, b, d, c, f, e} {a,c,d,b,a} {a,c,f,e,b,d,c,a}

Graf Gezme Örnek En çok bililen iki bilinen graf gezme algoritması Verilen bir graf gösterimi ve bir s düğümü için grafta s ‘ ten diğer düğümlere olan bütün yolları bul. En çok bililen iki bilinen graf gezme algoritması Genişlik Öncelikli Arama - (Breadth-First Search (BFS)) Ağırlıklandırılmamış grafta en kısa yolu bul Derinlik Öncelikli Arama (Depth-First Search (DFS)) Topolojik Sıralama Sıkı bağlanmış elemanları bul (strongly connected components)

BFS ve En kısa Yol Problemi Verilen herhangi bir düğüm s için,, BFS s’ ten artan (uzaklaşan) bir şekilde diğer düğümleri ziyaret eder. Bunu yaparken, BFS s’ten diğer düğümlere olan yolları bulur. Uzaklık ile kastedilen şey nedir? S’ten başlayan yol üzerindeki kenar sayısıdır. Örnek 2 4 3 5 1 7 6 9 8 s=vertex 1 için 2 1 uzaklığında bulunan düğümler 2, 3, 7, 9 1 s 2 uzaklığında bulunan düğümler? 8, 6, 5, 4 3 uzaklığında bulunan düğümler?

BSF algoritması Neden Kuyruk Kullanıyoruz? FIFO ya ihtiyaç var

Örnek Komşuluk Listesi Ziyaret tablosu (T/F) 2 4 3 5 1 7 6 9 8 1 2 3 4 5 6 7 8 9 F 2 4 3 5 1 7 6 9 8 kaynak Ziyaret tablosunu ilklendir (hepsi False) { } Q = Q ‘ yu boş olarak ilklendir

Örnek Komşuluk listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 1 2 3 4 5 6 7 8 9 F T 2 4 3 5 1 7 6 9 8 kaynak 2 ziyaret edildiği için bayrak koy { 2 } Q = Kuyruğa 2 yi ekle.

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 2 4 3 5 1 7 6 9 8 1 2 3 4 5 6 7 8 9 F T 2 4 3 5 1 7 6 9 8 Neighbors kaynak Komşuları ziyaret edildi diye işaretle Q = {2} → { 8, 1, 4 } Çıkar 2. 2’ nin ziyaret edilmemiş komşularını kuyruğa ekle

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 2 4 3 5 1 7 6 9 8 1 2 3 4 5 6 7 8 9 T F 2 4 3 5 1 7 6 9 8 kaynak komşular Yeni ziyaret edilen komşuları işaretle { 8, 1, 4 } → { 1, 4, 0, 9 } Q = Çıkar 8. -- 8’in ziyaret edilmemiş komşularını kuyruğa ekle. -- 2’ nın eklenmediğine dikkat edin. Daha ince ziyaret edilmişti!

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 1 2 3 4 5 6 7 8 9 T F 2 4 3 5 1 7 6 9 8 Komşular kaynak Yeni ziyaret edilen komşuları işaretle { 1, 4, 0, 9 } → { 4, 0, 9, 3, 7 } Q = Çıkar 1. -- 1’in ziyaret edilmemiş komşularını kuyruğa ekle. -- Sadece 3 ve 7 henüz ziyaret edilmedi.

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 1 2 3 4 5 6 7 8 9 T F 2 4 3 5 1 7 6 9 8 Komşular kaynak { 4, 0, 9, 3, 7 } → { 0, 9, 3, 7 } Q = Çıkar 4. -- 4’ ün ziyatet edilmemiş komşusu yok!

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 1 2 3 4 5 6 7 8 9 T F Komşular 2 4 3 5 1 7 6 9 8 kaynak { 0, 9, 3, 7 } → { 9, 3, 7 } Q = Çıkar 0. -- 0’ ın ziyaret edilmemiş komşusu yok!

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 1 2 3 4 5 6 7 8 9 T F 2 4 3 5 1 7 6 9 8 kaynak Komşular { 9, 3, 7 } → { 3, 7 } Q = Çıkar 9. -- 9’un ziyaret edilmiş komşusu yok!

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 1 2 3 4 5 6 7 8 9 T F 2 4 3 5 1 7 6 9 8 Komşular kaynak Yeni ziyaret düğüm 5’ i işaretle { 3, 7 } → { 7, 5 } Q = Çıkar 3. -- 5’i kuyruğa ekle.

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 1 2 3 4 5 6 7 8 9 T 2 4 3 5 1 7 6 9 8 kaynak Komşular Yeni ziyaret düğüm 6’ yı işaretle { 7, 5 } → { 5, 6 } Q = Çıkar 7. -- 6’ yı kuyruğa ekle.

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 1 2 3 4 5 6 7 8 9 T 2 4 3 5 1 7 6 9 8 kaynak Komşular { 5, 6} → { 6 } Q = Çıkar 5. -- 5’in ziyaret edilmemiş komşusu yok.

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 1 2 3 4 5 6 7 8 9 T 2 4 3 5 1 7 6 9 8 kaynak Komşular { 6 } → { } Q = Çıkar 6. -- 6’nın ziyaret edilmemiş komşusu yok.

Örnek Dur!!! Q boş!!! Komşuluk Listesi Ziyaret Tablosu (T/F) 2 4 3 5 1 1 2 3 4 5 6 7 8 9 T 2 4 3 5 1 7 6 9 8 kaynak Neyi keşfettik? Ziyaret tablosuna bak. Grafta kaynak düğüm 2’den bütün düğümlere bir yol vardır. { } Q = Dur!!! Q boş!!!

BFS’ nin Zaman Karmaşılığı (Komşuluk Listesi kullanarak) Komşuluk listesi olduğunu varsayalım n = düğüm sayısı m = kenar sayısı O(n + m) Herbir düğümen fazla bir kere Q’ ya girecek Herbir iterasyon deg(v) + 1 ifadesine orantılı olarak zaman alacaktır (1 sayısı deg(v) = 0 olduğu durumu içerir).

Çalışma Zamanı Σvertex v deg(v) = 2m m kenarlı verilen bir graf için, toplam derece nedir? While döngüsünun toplam çalışma zamanı Bu toplam while döngü içerisindeki bütün iterasyonları kapsar. Σvertex v deg(v) = 2m O( Σvertex v (deg(v) + 1) ) = O(n+m)

BFS’ nin Zaman Karmaşıklığı (Komşuluk Matrisi kullanarak) Komşuluk matrisi olduğunu varsayalım n = düğüm sayısı m = kenar sayısı O(n2) V’nin komşu düğümlerini bulmak satırdaki bütün elemanları kontrol etmeyi gerektirir. Bu lineer zaman alır O(n). n iterasyonun toplamı ile birlikte toplam çalışma zamanı O(n2). Böylece, komşuluk matrisi ile, BFS O(n2) m kenar sayısına bağlı değildir. Bağlantılı liste ile, BFS O(n+m); Eğer m=O(n2) ise yoğun graf gibi çalışır, O(n+m)=O(n2).

En Kısa Yolun Kaydedilmesi BFS, kaynak s’ ten diğer v düğümlerine bir yolun olup olmadığını bize söyler. Yolu söylemez! Yolu kaydetmek için algoritmayı modifiye etmemiz gerekir. - Nasıl yapabiliriz? Not: v’ ye ulaşana kadar yolda olan düğümleri bilmiyoruz. Etkili çözüm: Ek bir dizi kullan onceki[0..n-1] onceki[w] = v düğüm w’ye v ‘den ulaşıldığı manasına gelir.

BFS + Yol Bulma ilklendir pred[v] to -1 Nerden geldiğini kaydet

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 onceki 1 2 3 4 5 6 7 8 9 F - 2 4 3 5 1 7 6 9 8 kaynak onceki Ziyaret tablosunu ilklendir (hepsiFalse) onceki’ ni -1 yap { } Q = Q ilk başta boş

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 onceki 1 2 3 4 5 6 7 8 9 F T - 2 4 3 5 1 7 6 9 8 kaynak onceki Flag that 2 has been visited. { 2 } Q = Ekle 2.

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 2 4 3 5 1 7 6 9 8 onceki 1 2 3 4 5 6 7 8 9 F T - 2 2 4 3 5 1 7 6 9 8 Komşular kaynak onceki Komşular ziyaret edildi olarak işaretle. Oncekine 2’den gelindiğini kaydet. Q = {2} → { 8, 1, 4 } çıkar 2. 2’nin ziyaret edilmemiş bütün komşularını kuyruğa ekle

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 onceki 1 2 3 4 5 6 7 8 9 T F 8 2 - 2 4 3 5 1 7 6 9 8 kaynak Komşular onceki Komşular ziyaret edildi olarak işaretle. Oncekine 8’den gelindiğini kaydet. { 8, 1, 4 } → { 1, 4, 0, 9 } Q = Çıkar 8. -- 8’in ziyaret edilmemiş komşularını ekle.

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 onceki 1 2 3 4 5 6 7 8 9 T F 8 2 - 1 2 4 3 5 1 7 6 9 8 Komşular kaynak onceki Komşular ziyaret edildi olarak işaretle. Oncekine 1’den gelindiğini kaydet. { 1, 4, 0, 9 } → { 4, 0, 9, 3, 7 } Q = Çıkar 1. -- Ziyaret edilmemiş komşuları ekle . -- 3,7

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 onceki 1 2 3 4 5 6 7 8 9 T F 8 2 - 1 2 4 3 5 1 7 6 9 8 Komşular kaynak onceki { 4, 0, 9, 3, 7 } → { 0, 9, 3, 7 } Q = Çıkar 4. -- 4’ün ziyaret edilmemiş komşusu yok!

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 onceki 1 2 3 4 5 6 7 8 9 T F 8 2 - 1 Komşular 2 4 3 5 1 7 6 9 8 kaynak onceki { 0, 9, 3, 7 } → { 9, 3, 7 } Q = Çıkar 0. -- 0’ın ziyaret edilmemiş komşusu yok!

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 onceki 1 2 3 4 5 6 7 8 9 T F 8 2 - 1 2 4 3 5 1 7 6 9 8 kaynak Komşular onceki { 9, 3, 7 } → { 3, 7 } Q = Çıkar 9. -- 9’un ziyaret edilmemiş komşusu yok!

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 onceki 1 2 3 4 5 6 7 8 9 T F 8 2 - 1 3 2 4 3 5 1 7 6 9 8 Komşular kaynak onceki Komşular ziyaret edildi olarak işaretle. Oncekine 3’den gelindiğini kaydet. { 3, 7 } → { 7, 5 } Q = Çıkar 3. -- Komşu 5’i kuyruğa ekle.

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 onceki 1 2 3 4 5 6 7 8 9 T 8 2 - 1 3 7 2 4 3 5 1 7 6 9 8 kaynak Komşular onceki Komşular ziyaret edildi olarak işaretle. Oncekine 7’den gelindiğini kaydet. { 7, 5 } → { 5, 6 } Q = Çıkar 7. -- Komşu 6’yı kuyruğa ekle.

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 onceki 1 2 3 4 5 6 7 8 9 T 8 2 - 1 3 7 2 4 3 5 1 7 6 9 8 kaynak Komşular onceki { 5, 6} → { 6 } Q = Çıkar 5. -- 5’in ziyaret edilmemiş komşusu yok.

Örnek Komşuluk Listesi Ziyaret Tablosu (T/F) 8 2 9 1 7 3 6 4 5 onceki 1 2 3 4 5 6 7 8 9 T 8 2 - 1 3 7 2 4 3 5 1 7 6 9 8 kaynak Komşular onceki { 6 } → { } Q = Çıkar 6. -- 6’nın ziyaret edilmemiş komşusu yok.

Örnek Şimdi yolu rapor etmek için onceki geriye doğru izlenebilir! Komşuluk Listesi Ziyaret Tablosu (T/F) 1 2 3 4 5 6 7 8 9 T 8 2 - 1 3 7 2 4 3 5 1 7 6 9 8 kaynak onceki Şimdi yolu rapor etmek için onceki geriye doğru izlenebilir! { } Q = Dur!!! Q boş!!!

Yolun Gösterilmesi Yol(6) -> Yol(1) -> nodes visited from 1 2 3 4 5 6 7 8 9 8 2 - 1 3 7 Örnekler deneyelim, s’ ten v’ ye yolları bulalım: Yol(0) -> Yol(6) -> Yol(1) -> Bulunan yollar en kısa yollardır.

BFS ağacı BFS ile bulan yollar genellikle köklü bir ağaç olarak çizilebilir. (BFS ağaç olarak isimlendirilir), Kökte başlangıç düğümü tutulur. BFS düğüm s=2 için.

En kısa mesafeleri nasıl kaydederiz d(v) = ; d(s) = 0; d(w)=d(v)+1;

BFS’nin Uygulamaları Bir graftaki bağlantılı elemanları nasıl bulmak için kullanılır. Eğer bir grafta birden fazla bağlantılı eleman varsa, BFS, bir BFS-orman (sadece BFS-ağaç değil) kurar! Ormandaki herbir ağaç bağlantılı elemandır.