1 / 12

Dijkstra Algoritmusa

Gráfalgoritmus. Algoritmusok És Adatszerkezetek 2. c. Dijkstra Algoritmusa. 1. b. 6. 3. 4. 10. 9. e. a. 7. S. 2. 5. 2. d. Györgyi Tamás – GYTNAAI.ELTE. 2007 Április 02. Algoritmusok És Adatszerkezetek 2. A Dijkstra algoritmus egy irányított G gráfon egy adott kezdőcsúcsból

klaus
Download Presentation

Dijkstra Algoritmusa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Gráfalgoritmus Algoritmusok És Adatszerkezetek 2 c Dijkstra Algoritmusa 1 b 6 3 4 10 9 e a 7 S 2 5 2 d Györgyi Tamás – GYTNAAI.ELTE 2007 Április 02

  2. Algoritmusok És Adatszerkezetek 2 A Dijkstra algoritmus egy irányított G gráfon egy adott kezdőcsúcsból induló legrövidebb utakat meghatározó algoritmus. 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. Algoritmusok És Adatszerkezetek 2 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. Az algoritmus futási ideje függ attól, hogy hogyan valósítjuk meg a minimum-elsőbbségi sort. Normál ( Ritka ) ( e~n ) gráfra az éllista plusz kupac reprezentáció a megfelelő. T(n)= O(n log2n) Sűrű gráfra a csúcsmátrix plusz a rendezetlentömb reprezentáció az Alkalmas. T(n)= O(n2) A Sűrűgráf kupaccal nem jó, ugyanis T(n)= O(n2 log2n)

  4. Algoritmusok És Adatszerkezetek 2 Dijkstra (G, s) d[s]:=0; π[s]:=Nil; for all u Є V \ {s} d[u]:=∞; π[u]:=Nil; Üres(KÉSZ); Üres(minQ); Feltölt(minQ) ┐üres-e (minQ) u:=KiveszMin(minQ) KÉSZ:=KÉSZ U {u} for all v Є Szomsz[u] \ KÉSZ d[u]+c(u,v) < d[v] d[v]:=d[u]+c(u,v); π[v]:=u; Helyreállít(minQ); skip

  5. Algoritmusok És Adatszerkezetek 2 A dijkstra algoritmus működésének szemléltetése egy gráfon: - Így néz ki az irányítatott gráfom: c 1 b 6 3 4 10 9 e a 7 S 2 5 2 d

  6. Algoritmusok És Adatszerkezetek 2 A dijkstra algoritmus működésének szemléltetése egy gráfon: 1. lépés: c ∞ 1 b 6 ∞ 3 4 10 9 ∞ e a 7 0 S 2 5 2 ∞ d

  7. Algoritmusok És Adatszerkezetek 2 A dijkstra algoritmus működésének szemléltetése egy gráfon: 2. lépés: c ∞ 1 b 6 10 3 4 10 9 ∞ e a 7 0 S 2 5 2 5 d

  8. Algoritmusok És Adatszerkezetek 2 A dijkstra algoritmus működésének szemléltetése egy gráfon: 3. lépés: c 14 1 b 6 8 3 4 10 9 7 e a 7 0 S 2 5 2 5 d

  9. Algoritmusok És Adatszerkezetek 2 A dijkstra algoritmus működésének szemléltetése egy gráfon: 4. lépés: c 13 1 b 6 8 3 4 10 9 7 e a 7 0 S 2 5 2 5 d

  10. Algoritmusok És Adatszerkezetek 2 A dijkstra algoritmus működésének szemléltetése egy gráfon: 5. lépés: c 9 1 b 6 8 3 4 10 9 7 e a 7 0 S 2 5 2 5 d

  11. Algoritmusok És Adatszerkezetek 2 A dijkstra algoritmus működésének szemléltetése egy gráfon: 6. lépés: c 9 1 b 6 8 3 4 10 9 7 e a 7 0 S 2 5 2 5 d

  12. Gráfalgoritmus Algoritmusok És Adatszerkezetek 2 Dijkstra Algoritmusa Vége Györgyi Tamás – GYTNAAI.ELTE 2007 Április 02

More Related