szélességi bejárás

16
SZÉLESSÉGI BEJÁRÁS Gréczy Ákos – JKR7ZR

Upload: palti

Post on 19-Jan-2016

19 views

Category:

Documents


0 download

DESCRIPTION

Szélességi bejárás. Gréczy Ákos – JKR7ZR. Mese. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Szélességi bejárás

SZÉLESSÉGI BEJÁRÁSGréczy Ákos – JKR7ZR

Page 2: Szélességi bejárás

MESEVan egy középkori kisváros, ahol az utcai lámpákat egy korosodó lámpagyújtogató ember gyújtja fel. Egyik este a lámpagyújtogató fáradtnak és gyengének érzi magát, hát szól a barátainak, hogy segítsenek neki az esti munkájában. (Nagyon sok barátja van az illetőnek.) A csapat kimegy este a főtérre, és a következő stratégia szerint gyújtogatja a lámpákat. A főtéren meggyújtják a lámpákat, majd annyi felé oszlik a csapat, ahány főtérről kivezető út van. Mindegyik csapat elindul egy kivezető úton, és út közben felgyújtja a lámpákat. Amikor a csapat egy útelágazáshoz ér, szétoszlik kisebb csapatokra, és mindegyik kisebb csapat tovább indul az elágazás egyik még sötét utcáján. Amikor egy csapat már nem tud tovább menni (város széle, zsákutca, minden lámpa ég a környező utcákban), akkor a csapattagok hazamennek aludni. Ez az elve a szélességi bejárásnak.

Page 3: Szélességi bejárás

A SZÉLESSÉGI BEJÁRÁS ALAPJAI

Célja: 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.

Felhasznált adatszerkezet: sor Műveletigény: Él listást ábrázolás: T(n) = Θ(n) + Ο(e) = Ο(n + e)

(ahol az él listák együttes hossza e) Csúcsmátrixos ábrázolás: T(n) = O(n + n * n) = O(n2 ) A bejárt csúcsok sorrendje „szint folytonos”, azaz először az 1, majd

a 2 távolságra lévő csúcsokat írja ki, majd így tovább… Azonos távolság esetén a sorrendet definiálni kell, de nem kötelező

(pl. a példában betűrend szerint).

Page 4: Szélességi bejárás

A SZÉLESSÉGI BEJÁRÁS ÁBRÁZOLÁSA

A csúcsokat három színnel szemléltetjük: o FEHÉR: mikor a csúcsot még nem értük el

(alapértelmezetten minden csúcs ilyen, kivéve a kezdőcsúcsot)

o SZÜRKE: azok a csúcsok, melyeket elérünk az „új kezdőértéktől” egy csúcsot elérünk

o FEKETE: amikor egy csúcsot beteszünk egy sorba, és a szomszédjait elértük

Page 5: Szélességi bejárás

A SZÉLESSÉGI BEJÁRÁS MENETE

• Kijelölünk egy kezdőcsúcsot

• Megkeressük a csúcs szomszédait (melyek 1 távolságra vannak és mutat beléjük él a csúcsból), ezeket betesszük a sorba, az eredeti csúcsot pedig kiírjuk.

• Ezt folytatjuk a sorban a legelső csúccsal, mint „induló csúccsal”.

• Egy csúcsot csak egyszer tesszük be a sorba, akkor is, ha több rá mutató él is tartozik hozzá.

• Mikor elfogynak a fehér csúcsok, azaz nincs több a sorba betehető csúcs, a szürke csúcsok kiíródnak, és a bejárás kész.

Page 6: Szélességi bejárás

A SZÉLESSÉGI BEJÁRÁS SZEMLÉLTETÉSE

Műveletek:-Sorba:G-Kimenetre:semmi

Sor:GKimenet:

Page 7: Szélességi bejárás

A szélességi bejárás szemléltetése

Műveletek:-Sorba:R A C-Kimenetre: G-Következő: R

Sor:Kimenet:Sor: R A CKimenet: G

Page 8: Szélességi bejárás

A szélességi bejárás szemléltetése

Műveletek:-Sorba: Z C D-Kimenetre: R

Sor:A C Z C DKimenet: G R

Page 9: Szélességi bejárás

A szélességi bejárás szemléltetése

Műveletek:-Sorba:E-Kimenetre: A

Sor:C Z C D EKimenet:G R A

Page 10: Szélességi bejárás

A szélességi bejárás szemléltetése

Műveletek:-Sorba: F-Kimenetre:D

Sor: Z C D E FKimenet: G R A C

Page 11: Szélességi bejárás

A szélességi bejárás szemléltetése

Műveletek:-Sorba: H-Kimenetre: Z

Sor:C D E F HKimenet: G R A C Z

Page 12: Szélességi bejárás

A szélességi bejárás szemléltetése

Műveletek:-Sorba: C-Kimenetre: I

Sor:G H I J KKimenet: G R A C Z C

Page 13: Szélességi bejárás

A szélességi bejárás szemléltetése

Műveletek:-Sorba: J -Kimenetre: D

Sor: E F H I JKimenet: G R A C Z C D

Page 14: Szélességi bejárás

A szélességi bejárás szemléltetése

Műveletek:-Sorba: semmi-Kimenetre: E

Sor: F H I J Kimenet: G R A C Z C D E

Page 15: Szélességi bejárás

A szélességi bejárás szemléltetése

Műveletek:- Mivel minden elfogyott, minden megy a kimenetre

Sor: semmiKimenet: G R A C Z C D E F H I J K

Page 16: Szélességi bejárás

A szélességi bejárás szemléltetése

Műveletek:- Kiürült a sor, a bejárásnak vége!

Sor: semmi Kimenet: G R A C Z C D E F H I J K