Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Dijkstra-algoritmus ismertetése
Algoritmusok és adatszerkezetek 2 Készítette: Tóth István (S23R35)
2
Általános ismertető Mohó algoritmus
Lényege: gráfban (irányított v. irányítatlan) a legrövidebb út megtalálása adott csúcsból Feltétel: élek súlya nemnegatív Minden pontra megadja a legrövidebb utat a kezdőcsúcsból nézve
3
Működési elv - általános
állandó (vizsgált) és ideiglenes címkéjű (nem vizsgált) csúcsok kiszámolja az adott csúcs minden ideiglenes szomszédjának távolságát: ha kisebb érték jön ki (alapból mindegyik végtelen), átírja arra vizsgált csúcs megjelölése állandóként továbblépés a legkisebb távú ideiglenes csúcsra folytatás a második lépéstől addig, amíg: be nem járta az egészet, vagy ki nem számolta a kívánt célcsúcs távolságát
4
Működési elv - részletes
Input: G súlyozott gráf (irányított/irányítatlan) s pont a gráfban (kezdőcsúcs) Élek súlyozása: E élhalmaz: w: E → [0,∞] a súlyfüggvény u, v csúcsok: w(u,v) u-ból v-be eljutás „költsége” Két pont közötti út költsége: az úton lévő élek költségeinek összege
5
Működési elv - részletes
Futási idő alatt minden pontra nyilvántartja a távolságát Kezdőcsúcsé (s): d[s] = 0 Minden más csúcsra (v): d[v] = ∞ Halmazok: S: csúcsok, melyeknél már kiszámolta a legrövidebb távot („címkézett/állandó” csúcsok) Kezdetben: üres Q: csúcsok, melyeknél a távolság értéke még ideiglenes Kezdetben: minden csúcs itt van
6
Működési elv – részletes
Iterációnként egy csúcspont (u) átkerül Q-ból S-be Az a csúcs, melynek legkisebb a „költsége” u összes szomszédjának kiszámolja a távolságát Metódus: d[u] + w(u,v), ahol d[u] az u pont kiindulási pontból vett távolsága, v szomszédja u-nak Ha kisebb az így kijött út, felülírja az új értékkel Folytatás, amíg: Az összes csúcsot ki nem számolta, vagy A célcsúcsot ki nem számolta (célcsúcs nincs Q-ban)
7
Működés - animáció forrás:
8
Pszeudokód
9
Működés - elemzés Fő műveletek: minimumkiválasztás, csökkentés
E élhalmaz, V csúcshalmaz Implementációk: Tömb: O(V2) Bináris heap: Ɵ ((V+E) lgV) Fibonacci heap: O((V+E) lgV) Hibái: Vakon keres: erőforráspazarló Negatív élsúlyozást nem támogat
10
Alkalmazása Hálózati útvonalválasztó protokollok:
IS-IS OSFP Útvonalkeresés úthálózatokon, térképeken Módosított, bővített változatok A* algoritmus
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.