Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaÁgoston Szalai Megváltozta több, mint 10 éve
1
Nevezetes algoritmusok: Fa megvalósítása Készítette: Várkonyi Tibor Zoltán
2
Feladat specifikációja A jól ismert adatstruktúra, amely lehet üres vagy halmaza egy vagy több pontnak, amelyek élekkel kapcsolódnak egymáshoz, kielégítve az alábbi feltételeket. Pontosan egy - gyökérnek nevezett - pont van, amelybe nem érkezik él. A gyökeret kivéve, minden csúcsba pontosan egy él mutat. A gyökérből minden csúcsba pontosan egy irányított élsorozaton át lehet eljutni.
3
Elképzelés Inputfile: kettesével tárol pontokat A csúcsok nem feltétlenül 1-es indexnél kezdődnek, és maradhatnak ki csúcs indexek. Megvalósítás: Asszociatív tároló
4
Az asszociatív tároló Ha nem találkoztunk még a megadott indexszel, akkor hozzávesszük (kiél és beélnél is) a tárolóhoz Ha már szerepelt a csúcs él végpontjában, akkor már nem lehet fa A tárolóban feljegyezzük az éllistát a későbbi bejáráshoz
5
Az asszociatív tároló (folyt.) Számoljuk meg, hogy hány csúcsba nem vezet él. Ha a gráf beolvasásának végén nem nem egyetlen ilyen gyökér van, akkor nem fa. Közben számoljuk az éleket is. Egy N pontú fának pontosan N-1 éle kell legyen. Ha ez nem teljesül, akkor nem fa. A körmentességet még be kell látnunk (mélységi bejárással például)
6
Megvalósítás Szükségünk lesz egy mapra, amely kulcsként használja a csúcs indexét Kell még egy osztály, amiben tároljuk a csúcsokra vonatkozó információkat (a map értéke) Globális változók a megfelelő csúcsok (gyökér) és élek számozására
7
Megvalósítás (folyt.) Még lehet kör a gráfban, így alkalmazzunk egy mélységi bejárást! Az színezzük azokat a csúcsokat, amelyeken már jártunk. Ha már színezet csúcshoz értünk, akkor volt benne irányított kör. Ha nem jutottunk el minden csúcsba, akkor nem összefüggő. A maradék esetekben fát kapunk.
8
Osztály Csúcs Befok Éllista (ki-élek)
9
Megjegyzések C++ implementáció esetén érdemes az STL map sablon típusát használni.
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.