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

Gráf szélességi bejárása

Hasonló előadás


Az előadások a következő témára: "Gráf szélességi bejárása"— Előadás másolata:

1 Gráf szélességi bejárása

2 Általános leírás Az eljárás célja egy véges gráf összes csúcsának bejárása a kezdőcsúcstól való távolságuk szerinti növekvő sorrendben A bejárt csúcsok sorrendje „szintfolytonos” lesz, azaz először az 1, majd a 2 távolságra lévő csúcsokat dolgozzuk fel, majd így tovább Ha egy csúcsot már bejártunk, a későbi odajutásoktól el kell tekinteni Azonos távolság esetén a sorrend nem definiált

3 ADS szintű megvalósítás
Alkalmazzunk sor adattípust a szemléltetéshez! A sorban csak k vagy k+1 távolságú csúcsok lehetnek az elérésük sorrendjében, amely egyben a k-tól való távolságuk növekedő sorrendje Ameddig ki nem ürül a sor, vegyük ki az első elemet, írjuk ki és a még sorra nem került szomszédjait rakjuk be a sorba.

4 Kiegészítés Csúcsonként tárolt információk:
csúcs kiírási sorszáma kezdőcsúcstól való távolság (kezdetben –1) Csúcsok lehetséges státuszai: fehér: még nem értük el a csúcsot szürke: elértük, de nincs kiírva fekete: kiírtuk és továbbhaladtunk a szomszédaihoz Kezdetben minden csúcs fehér, csak az első szürke

5 Szemléletesen

6 Lépések Kivesszük a sorból az 1-es csúcsot
Elérjük az 1-es csúcs még fehér szomszédait, behelyezzük őket a sorba, majd szürkítünk 1-es csúcsot feketítjük

7

8

9 … és így tovább minden egyes csúcsra

10 Végső állapot

11 Megvalósítás ábrázolás szinten, éllistával
szín[1..n] – csúcsokkal indexelt tömb, amely a csúcsok színét tárolja d[1..n] – csúcsok távolsága a kezdőponttól P[1..n] – csúcsokhoz vezető úton a megelőző csúcs Kezdeti állapot: minden csúcs végtelen távolságra van a kezdőcsúcstól

12 Struktogram

13 Műveletigény A szélességi bejárás műveletigénye az ábrázolás függvényében (nem tesszük fel, hogy összefüggő a gráf!): Éllistást ábrázolás: T(n) = Θ(n) + Ο(e) = Ο(n + e) ahol az éllisták együttes hossza e Csúcsmátrixos ábrázolás: T(n) = O(n + n * n) = O(n2 )


Letölteni ppt "Gráf szélességi bejárása"

Hasonló előadás


Google Hirdetések