Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaJózsef Barna Megváltozta több, mint 10 éve
1
1 Dijkstra Algoritmusa Györgyi Tamás – GYTNAAI.ELTE 2007 Április 02 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S a b c d e 10 2 3 7 4 6 2 5 9 1
2
2 A Dijkstra algoritmus egy irányított G gráfon egy adott kezdőcsúcsból induló legrövidebb utakat meghatározó algoritmus. Algoritmusok És Adatszerkezetek 2 Csak abban az esetben működik az algoritmus ha az élek súlya pozitív! A megvalósításban egy minQ minimum-elsőbbségi sort alkalmazunk. A minQ elsőbbségi sor ábrázolása: - Rendezetlen tömb - Kupacos ábrázolás A Dijkstra algoritmus egy mohó stratégiát alkalmaz, hiszen mindig a „legkönnyebb”, a „legközelebbi” csúcsot választja.
3
3 Algoritmusok És Adatszerkezetek 2 Az algoritmus futási ideje függ attól, hogy hogyan valósítjuk meg a minimum-elsőbbségi sort. A Dijkstra algoritmus bizonyos hasonlóságot mutat mind a szélességi kereséssel mind a minimális feszítőfát előállító Prím-algoritmussal. Normál ( Ritka ) ( e~n ) gráfra az éllista plusz kupac reprezentáció a megfelelő. T(n)= O(n log 2 n) Sűrű gráfra a csúcsmátrix plusz a rendezetlentömb reprezentáció az Alkalmas. T(n)= O(n 2 ) A Sűrűgráf kupaccal nem jó, ugyanis T(n)= O(n 2 log 2 n)
4
4 Dijkstra (G, s) d[v]:=d[u]+c(u,v); π[v]:=u; Helyreállít(minQ); KÉSZ:=KÉSZ U {u} d[u]:=∞; π[u]:=Nil; Üres(KÉSZ); Üres(minQ); Feltölt(minQ) d[u]+c(u,v) < d[v] skip ┐ üres-e (minQ) for all v Є Szomsz[u] \ KÉSZ for all u Є V \ {s} Algoritmusok És Adatszerkezetek 2 d[s]:=0; π[s]:=Nil; u:=KiveszMin(minQ)
5
5 A dijkstra algoritmus működésének szemléltetése egy gráfon: Algoritmusok És Adatszerkezetek 2 S a b c d e 10 2 3 7 4 6 2 5 9 1 - Így néz ki az irányítatott gráfom:
6
6 A dijkstra algoritmus működésének szemléltetése egy gráfon: Algoritmusok És Adatszerkezetek 2 0 S ∞ ∞ ∞ ∞ a b c d e 10 2 3 7 4 6 2 5 9 1 1. lépés:
7
7 A dijkstra algoritmus működésének szemléltetése egy gráfon: Algoritmusok És Adatszerkezetek 2 0 S 10 5 ∞ ∞ a b c d e 10 2 3 7 4 6 2 5 9 1 2. lépés:
8
8 A dijkstra algoritmus működésének szemléltetése egy gráfon: Algoritmusok És Adatszerkezetek 2 0 S 8 5 14 7 a b c d e 10 2 3 7 4 6 2 5 9 1 3. lépés:
9
9 A dijkstra algoritmus működésének szemléltetése egy gráfon: Algoritmusok És Adatszerkezetek 2 0 S 8 5 13 7 a b c d e 10 2 3 7 4 6 2 5 9 1 4. lépés:
10
10 A dijkstra algoritmus működésének szemléltetése egy gráfon: Algoritmusok És Adatszerkezetek 2 0 S 8 5 9 7 a b c d e 10 2 3 7 4 6 2 5 9 1 5. lépés:
11
11 A dijkstra algoritmus működésének szemléltetése egy gráfon: Algoritmusok És Adatszerkezetek 2 0 S 8 5 9 7 a b c d e 10 2 3 7 4 6 2 5 9 1 6. lépés:
12
12 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus Vége Györgyi Tamás – GYTNAAI.ELTE 2007 Április 02 Dijkstra Algoritmusa
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.