Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaBalázs Biró Megváltozta több, mint 10 éve
1
1 Szélességi Bejárás Györgyi Tamás – GYTNAAI.ELTE 2007 Március 22 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus 1 2 0 1 2 2 3 3 S b a d e f h g c
2
2 Algoritmusok És Adatszerkezetek 2 A szélességi bejárás az egyik legegyszerűbb gráfbejáró algoritmus, melyre sok gráfalgoritmus is alapul. Például a Dijkstra legrövidebb utat meghatározó algoritmusa is a szélességi kereséshez hasonló gondolat menetet használja. Az algoritmus egyaránt alkalmazható irányított és irányítatlan gráfok esetén. A szélességi keresés elnevezés onnan kapta a nevét, hogy az algoritmus a már elért és a még felfedezetlen csúcsok közötti határvonalat egyenletesen terjeszti ki a határ teljes széltében. A szélességi bejárás feladata: Minden csúcsot egy s kezdőcsúcsból kiinduló legrövidebb úton érjünk el. A szélességi bejárás létrehoz egy szélességi fát, amely kezdetben csak a gyökeret tartalmazza.
3
3 Az algoritmus a bejárás pillanatnyi állapotát a csúcsok fehér szürke, illetve fekete színezésével tartja számon. Kezdetben minden csúcs szine fehér. szin[u]:=fehér; d[u]:=∞; π[u]:=Nil; for all u Є V\{s} Amikor először rátalálunk egy csúcsra, úgy a színe már megváltozik Szürkére. Algoritmusok És Adatszerkezetek 2 Egy fekete csúcs összes szomszédja már elért csúcs, tehát a szürke csúcsoknak lehetnek fehér szomszédjai, melyek alkotják az élért és még felfedezetlen csúcsok közötti határt. A szélességi bejárás eredménye függhet attól, hogy az egyes csúcsok szomszédjait milyen sorrendben vesszük figyelembe. Ez az jelenti hogy a szélességi változhat, azonban a d távolság értékek ugyanazok lesznek minden esetben.
4
4 Szélességi Bejárás (G, s) szin[v]:=szürke; π[v]:=u; d[v]:=d[u]+1; sorba(Q,v); sorból(Q,u); szin[u]:=fekete; üresSor(Q); sorba(Q,s); szin[u]:=fehér; d[u]:=∞; π[u]:=Nil; szin[u]:=szürke; d[s]:=0; π[u]:=Nil; szin[v] = fehér skip ┐ üres-e(Q) for all v Є szomsz[u] for all u Є V\{s} Algoritmusok És Adatszerkezetek 2
5
5 Az algoritmus hatékonysága: T(n) = Θ(n) + σ(e) = σ(n+e)ahol n a csúcsok száma e az élek száma A két reprezentáció esetén a következők adódnak: 1 – Éllista esetén σ(n+e). 2 – Csúcsmátrix esetén σ(n+n 2 ). A szélességi keresés futási ideje a szomszédsági listás ábrázolás méretének linearis függvénye.
6
6 Algoritmusok És Adatszerkezetek 2 Sor Tartalma - Q A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon: - Így néz ki az irányítatlan gráfom: c b a d e f h g
7
7 Sor Tartalma - Q A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon: 1. lépés: Algoritmusok És Adatszerkezetek 2 c 0 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ S b a d e f h g c
8
8 Sor Tartalma - Q A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon: 2. lépés: Algoritmusok És Adatszerkezetek 2 d 1 1 ∞ 0 1 ∞ ∞ ∞ ∞ S b a d e f h g b 1 c
9
9 Sor Tartalma - Q 3. lépés: Algoritmusok És Adatszerkezetek 2 b 1 1 ∞ 0 1 2 2 ∞ ∞ S b a d e f h g e 2 c f 2 A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon:
10
10 Sor Tartalma - Q 4. lépés: Algoritmusok És Adatszerkezetek 2 e 2 1 2 0 1 2 2 ∞ ∞ S b a d e f h g f 2 c a 2 A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon:
11
11 Sor Tartalma - Q 5. lépés: Algoritmusok És Adatszerkezetek 2 f 2 1 2 0 1 2 2 3 ∞ S b a d e f h g a 2 c g 3 A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon:
12
12 Sor Tartalma - Q 6. lépés: Algoritmusok És Adatszerkezetek 2 a 2 1 2 0 1 2 2 3 3 S b a d e f h g g 3 c h 3 A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon:
13
13 Sor Tartalma - Q 7. lépés: Algoritmusok És Adatszerkezetek 2 g 3 1 2 0 1 2 2 3 3 S b a d e f h g h 3 c A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon:
14
14 Sor Tartalma - Q 8. lépés: Algoritmusok És Adatszerkezetek 2 h 3 1 2 0 1 2 2 3 3 S b a d e f h g c A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon:
15
15 Sor Tartalma - Q 9. lépés: Algoritmusok És Adatszerkezetek 2 1 2 0 1 2 2 3 3 S b a d e f h g c A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon:
16
16 Szélességi Bejárás Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus Vége Györgyi Tamás – GYTNAAI.ELTE 2007 Március 22
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.