130 likes | 227 Views
Gráf szélességi bejárása. Algoritmusok és adatszerkezetek 2. Újvári Zsuzsanna. Bevezető. 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
E N D
Gráf szélességi bejárása Algoritmusok és adatszerkezetek 2.Újvári Zsuzsanna
Bevezető • 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 • Minden csúcsra jegyezzük fel a kezdőcsúcstól való távolságát, és a hozzá vezető (egyik) legrövidebb úton a megelőző csúcsot. Az azonos távolságú pontok egymás közötti sorrendje, a feladat szempontjából legyen tetszőleges.
Bevezető • Csúcsonként tárolt információk: • csúcs kiírási sorszáma • kezdőcsúcstól való távolság • 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édjaihoz • Kezdetben minden csúcs fehér, csak az első szürke
Legyen G=(V,E) gráf és csúcsok, és út ahol s=v0 , u=vk. • Az út hossza legyen, az út mentén érintetett élek száma, azaz • Az u csúcs s-től való távolsága legyen az utak közül a legrövidebb élszáma, azaz • Ha nincs út a gráfban, akkor legyen
Példa s= A C B D Q: sor adatszerkezet H: halmaz (amelyik elemeket már elértük) d[1..10]= [1..10]=NIL E F J G H I
1. lépés s= 1. A 3. 2. 4. C B D 6. 5. 7. H: A E F J Q: A 1. 10. d: 10. 0 8. 9. 1. 10. G H I : NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL
2. lépés s= 1. A 3. 2. 4. C B D 6. 5. 7. H: ABCD E F J Q: BCD 1. 10. d: 1 1 1 10. 0 8. 9. 1. 10. G H I : NIL 1 1 1 NIL NIL NIL NIL NIL NIL
3. lépés s= 1. A 3. 2. 4. C B D 6. 5. 7. H: ABCD E F J Q: CDEF 1. 10. 5. d: 1 1 1 2 2 10. 0 8. 9. 5. 1. 10. G H I 2 : 2 NIL 1 1 1 NIL NIL NIL NIL
4. lépés s= 1. A 3. 2. 4. C B D 6. 5. 7. H: ABCD E F J Q: DEF 1. 10. 5. d: 1 1 1 2 2 10. 0 8. 9. 5. 1. 10. G H I 2 : 2 NIL 1 1 1 NIL NIL NIL NIL
5. lépés s= 1. A 3. 2. 4. C B D 6. 5. 7. H: ABCDJ E F J Q: EFJ 1. 10. 5. d: 1 1 1 2 2 2 10. 0 8. 9. 5. 1. 10. G H I : 2 2 4 NIL 1 1 1 NIL NIL NIL
6. lépés s= 1. A 3. 2. 4. C B D 6. 5. 7. H: ABCDEFJGHI E F J Q: FJGHI 1. 10. 5. d: 1 1 1 2 2 2 3 3 3 10. 0 8. 9. 5. 1. 10. G H I : 2 2 5 5 4 5 NIL 1 1 1
7-11. lépés s= 1. A 3. 2. 4. C B D 6. 5. 7. H: ABCDEFJGHI E F J Q: 1. 10. 5. d: 1 1 1 2 2 2 3 3 3 10. 0 8. 9. 5. 1. 10. G H I : 2 2 5 5 4 5 NIL 1 1 1
Köszönöm a figyelmet 2011.03.18.