Nevezetes algoritmusok: Fa megvalósítása Készítette: Várkonyi Tibor Zoltán.

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

Nevezetes algoritmusok
Készítette: Mester Tamás METRABI.ELTE.  Adott egy G irányított vagy irányítás nélküli, véges gráf. Az eljárás célja a G gráf összes csúcsának bejárása.
KÉSZÍTETTE: Takács Sándor
Thalész tétele A síkon azoknak a pontoknak a halmaza, amelyekből egy adott AB szakasz derékszög alatt látszik, az AB átmérőjű kör, kivéve az AB szakasz.
Matematika II. 4. előadás Geodézia szakmérnöki szak 2010/2011. tanév Műszaki térinformatika ágazat tavaszi félév.
Illeszkedési mátrix Villamosságtani szempontból legfontosabb mátrixreprezentáció. Legyen G egy irányított gráf, n ponton e éllel. Az n x e –es B(G) mátrixot.
Illés Tibor – Hálózati folyamok
Minimális költségű feszítőfák
Erősen összefüggő komponensek meghatározása
DAG topologikus rendezése
Dijkstra algoritmus Irányított gráfban.
Szélességi bejárás Párhuzamosítása.
Készítette Schlezák Márton
Leszámoló rendezés Készítette: Várkonyi Tibor Zoltán VATNABI.ELTE
Számoljuk meg rekurzív függvénnyel egy bináris fa leveleit!
Gráf szélességi bejárása. Alapfogalmak G = (V,E)irányított, véges, nem üres gráf d (s,u)két csúcs távolsága lút hossza, élek száma Qsor adatszerkezet.
1. Univerzális nyelő Csúcsmátrixos ábrázolás esetén a legtöbb gráfalgoritmus futási ideje O(n2) azonban van kivétel. Egy irányított gráf egy csúcsa univerzális.
DAG topologikus rendezés
Prím algoritmus.
1 Györgyi Tamás – GYTNAAI.ELTE 2007 Április 03 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus Bellman-Ford Algoritmusa S a b d e
Tökéletes Hash függvények keresése Kasler Lóránd-Péter.
Szélességi bejárás A szélességi bejárással egy irányított vagy irányítás nélküli véges gráfot járhatunk be a kezdőcsúcstól való távolságuk növekvő sorrendjében.
Készítette: Kosztyán Zsolt Tibor
Gráf szélességi bejárása
Készítette: Lakos Péter.  Adott egy élsúlyozott, véges gráf  Negatív élsúlyokat nem tartalmaz  Lehet irányított vagy irányítatlan  Továbbá adott egy.
Készítette: Lakos Péter.  Adott egy irányított vagy irányítatlan, véges gráf.  Írjuk ki a csúcsokat egy kezdőcsúcstól való távolságuk növekvő sorrendjében.
Dijkstra-algoritmus ismertetése
Algoritmusok II. Gyakorlat 2. Feladat Pup Márton.
GRÁFELMÉLET Alapfogalmak 1..
Számegyenesek, intervallumok
Lineáris függvények ábrázolása
Fák.
A Dijkstra algoritmus.
Gráf szélességi bejárása SzB(G,p). Tetszőleges gráf, melyben a p csúcsot választottam kiindulónak: A gráfnak megfelelő fa:
Feladat: Adott egy város, benne metrók és állomások. Írjunk algoritmust amely megszámolja hogy mennyi az a legkevesebb átszállás amellyel egy tetszőleges.
Készítette: Hanics Anikó. Az algoritmus elve: Kezdetben legyen n db kék fa, azaz a gráf minden csúcsa egy-egy (egy pontból álló) kék fa, és legyen minden.
Gráfok 1. Szlávi Péter ELTE IK Média- és Oktatásinformatika Tanszék
Előadó: Nagy Sára Mesterséges intelligencia Kereső rendszerek.
1 Szélességi Bejárás Györgyi Tamás – GYTNAAI.ELTE 2007 Március 22 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S b a d e f h g c.
1 Dijkstra Algoritmusa Györgyi Tamás – GYTNAAI.ELTE 2007 Április 02 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S a b c d e
Mélységi bejárás Az algoritmus elve: Egy kezdőpontból kiindulva addig megyünk egy él mentén, ameddig el nem jutunk egy olyan csúcsba, amelyből már nem.
DAG topologikus rendezése
Kruskal-algoritmus.
Háló- (gráf-) algoritmusok
GRÁFOK Definíció: Gráfnak nevezzük véges vagy megszámlálhatóan végtelen sok pont és azokat összekötő szintén véges vagy megszámlálhatóan végtelen sok.
Útkeresések.
Dag Toplogikus rendezés
SZÉLESSÉGI BEJÁRÁS Pap Imre DVX468. A bejárás Meglátogatjuk az első csúcsot, majd ennek a csúcsnak az összes szomszédját. Aztán ezen szomszédok összes.
Menetrend optimalizálása genetikus algoritmussal
Projektmenedzsment gráf általában súlyozott irányított
Morvai Mária-Júlia F3D3D4.  Adott egy G=(V,E)élsúlyozott, irányított vagy irányítás nélküli, negatív élsúlyokat nem tartalmazó,véges gráf. Továbbá adott.
Gráf szélességi bejárása. Cél Az algoritmus célja az, hogy bejárjuk egy véges gráf összes csúcsát és kiírjuk őket a kezdőcsúcstól való távolságuk szerint.
Gráf szélességi bejárása. A szélességi bejárás elmélete 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ő.
Algoritmusok és adatszerkezetek
Szélességi bejárás Gráf-algoritmusok Algoritmusok és adatszerkezetek II. Gergály Gábor WZBNCH1.
Fájlszervezés Adatbázisok tervezése, megvalósítása és menedzselése.
Készítette : Giligor Dávid Neptun : HSYGGS
INFOÉRA Gráfok, gráfalgoritmusok II. (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai.
Dijkstra algoritmus. Egy minimális költségű utat keres élsúlyozott gráfban A gráf lehet irányított vagy irányítás nélküli Feltétele, hogy pozitív élsúlyok.
Algoritmus DAG = irányított körmentes gráf. Először ezt a tulajdonságot ellenőrizzük (mélységi bejárással), aztán rendezzük: Q: Sor adatszerkezet, kezdetben.
Szélességi bejárás Pátyerkó Dorina (VTYX9O). Szélességi bejárás algoritmusa Kijelölünk egy kezdőcsúcsot. A csúcs szomszédjait megkeressük, majd betesszük.
GRÁFOK Marczis Ádám és Tábori Ármin. Kőnig Dénes ( ) Magyar matematikus Az első tudományos színvonalú gráfelmélet könyv írója.
Gráfalgoritmusok Tassy Gergely Veres Péter Gimnázium, Budapest június 30.
A Dijkstra algoritmus.
Készítette: Horváth Zoltán
Algoritmusok és Adatszerkezetek I.
INFOÉRA Gráfok, gráfalgoritmusok II. (Horváth Gyula és Szlávi Péter előadásai felhasználásával) IDE KELL: prioritási sor kupaccal. Juhász.
3. osztályban.
Gráfok - 1 Definíció: Irányított gráf (digráf) G=(V,E) rendezett pár.
Előadás másolata:

Nevezetes algoritmusok: Fa megvalósítása Készítette: Várkonyi Tibor Zoltán

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.

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ó

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

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)

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

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.

Osztály Csúcs Befok Éllista (ki-élek)

Megjegyzések C++ implementáció esetén érdemes az STL map sablon típusát használni.