1 / 16

Szélességi Bejárás

Gráfalgoritmus. Algoritmusok És Adatszerkezetek 2. Szélességi Bejárás. e. 2. c. S. 0. b. d. g. 1. 1. 3. a. 2. 2. 3. f. h. Györgyi Tamás – GYTNAAI.ELTE. 2007 Március 22. Algoritmusok És Adatszerkezetek 2. A szélességi bejárás az egyik legegyszerűbb gráfbejáró algoritmus,

nona
Download Presentation

Szélességi Bejárás

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Gráfalgoritmus Algoritmusok És Adatszerkezetek 2 Szélességi Bejárás e 2 c S 0 b d g 1 1 3 a 2 2 3 f h Györgyi Tamás – GYTNAAI.ELTE 2007 Március 22

  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. 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. Az algoritmus egyaránt alkalmazható irányított és irányítatlan gráfok esetén. 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. Algoritmusok És Adatszerkezetek 2 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. for all u Є V\{s} szin[u]:=fehér; d[u]:=∞; π[u]:=Nil; Amikor először rátalálunk egy csúcsra, úgy a színe már megváltozik Szürkére. 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. Algoritmusok És Adatszerkezetek 2 Szélességi Bejárás (G, s) for all u Є V\{s} szin[u]:=fehér; d[u]:=∞; π[u]:=Nil; szin[u]:=szürke; d[s]:=0; π[u]:=Nil; üresSor(Q); sorba(Q,s); ┐üres-e(Q) sorból(Q,u); szin[u]:=fekete; for all v Є szomsz[u] szin[v] = fehér szin[v]:=szürke; π[v]:=u; d[v]:=d[u]+1; sorba(Q,v); skip

  5. Algoritmusok És Adatszerkezetek 2 Az algoritmus hatékonysága: T(n) = Θ(n) + σ(e) = σ(n+e) ahol n a csúcsok száma e az élek száma 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. 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+n2) .

  6. Algoritmusok És Adatszerkezetek 2 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: e c Sor Tartalma - Q b d g a f h

  7. Algoritmusok És Adatszerkezetek 2 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: e ∞ c S Sor Tartalma - Q 0 c 0 b d g ∞ ∞ ∞ a ∞ ∞ ∞ f h

  8. Algoritmusok És Adatszerkezetek 2 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: e ∞ c S Sor Tartalma - Q 0 d b 1 1 b d g 1 1 ∞ a ∞ ∞ ∞ f h

  9. Algoritmusok És Adatszerkezetek 2 A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon: 3. lépés: e 2 c S Sor Tartalma - Q 0 b e f 1 2 2 b d g 1 1 ∞ a 2 ∞ ∞ f h

  10. Algoritmusok És Adatszerkezetek 2 A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon: 4. lépés: e 2 c S Sor Tartalma - Q 0 e f a 2 2 2 b d g 1 1 ∞ a 2 2 ∞ f h

  11. Algoritmusok És Adatszerkezetek 2 A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon: 5. lépés: e 2 c S Sor Tartalma - Q 0 f a g 2 2 3 b d g 1 1 3 a 2 2 ∞ f h

  12. Algoritmusok És Adatszerkezetek 2 A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon: 6. lépés: e 2 c S Sor Tartalma - Q 0 a g h 2 3 3 b d g 1 1 3 a 2 2 3 f h

  13. Algoritmusok És Adatszerkezetek 2 A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon: 7. lépés: e 2 c S Sor Tartalma - Q 0 g h 3 3 b d g 1 1 3 a 2 2 3 f h

  14. Algoritmusok És Adatszerkezetek 2 A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon: 8. lépés: e 2 c S Sor Tartalma - Q 0 h 3 b d g 1 1 3 a 2 2 3 f h

  15. Algoritmusok És Adatszerkezetek 2 A szélességi bejárás működésének szemléltetése egy irányítatlan gráfon: 9. lépés: e 2 c S Sor Tartalma - Q 0 b d g 1 1 3 a 2 2 3 f h

  16. Gráfalgoritmus Algoritmusok És Adatszerkezetek 2 Szélességi Bejárás Vége Györgyi Tamás – GYTNAAI.ELTE 2007 Március 22

More Related