Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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.

Hasonló előadás


Az előadások a következő témára: "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."— Előadás másolata:

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


Letölteni ppt "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."

Hasonló előadás


Google Hirdetések