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áfok szélességi bejárása

Hasonló előadás


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

1 Gráfok 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 Extra információk 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 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

6 Magyarázat 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

7 Struktogram

8 Műveletigény A szélességi bejárás műveletigénye:
Éllistást ábrázolás: T(n) = Θ(n) + Ο(e) = Ο(n + e) Csúcsmátrixos ábrázolás: T(n) = O(n + n * n) = O(n2 ) * n csúcsok száma, e élek száma


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

Hasonló előadás


Google Hirdetések