Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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.

Hasonló előadás


Az előadások a következő témára: "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."— Előadás másolata:

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


Letölteni ppt "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."

Hasonló előadás


Google Hirdetések