Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
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
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 )
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.