Dijkstra algoritmus Az algoritmus mkdse Kezdsnl a kezd

  • Slides: 11
Download presentation
Dijkstra algoritmus

Dijkstra algoritmus

Az algoritmus működése § Kezdésnél a kezdő csúcson kívül minden csúcs távolsága legyen ∞,

Az algoritmus működése § Kezdésnél a kezdő csúcson kívül minden csúcs távolsága legyen ∞, a kezdő csúcs távolsága 0. § Feltételes minimum kereséssel megkeressük következő legközelebbi csúcsot. (olyat ahol még nem jártunk) § Számítsuk ki a v-be vezető út hosszát, ehhez adjuk hozzá a v szomszédjába vezető út hosszát. Ha ez az út rövidebb, mint az említett szomszédba eddig vezető út hossza, akkor csere.

Példa 1 2 3 4 2 0 ∞ ∞ ∞ d 3  nil

Példa 1 2 3 4 2 0 ∞ ∞ ∞ d 3 nil nil π 0 0 kész 3 1 2 9 5 4 d: költség π: szülő 7

Példa s: = 1 2 3 4 2 0 ∞ ∞ ∞ d 3

Példa s: = 1 2 3 4 2 0 ∞ ∞ ∞ d 3 nil nil π 1 0 0 0 kész 3 1 2 9 5 4 d: költség π: szülő 7

Példa 1 2 3 4 2 0 3 ∞ ∞ d 3  1

Példa 1 2 3 4 2 0 3 ∞ ∞ d 3 1 nil π 1 0 0 0 kész 3 1 2 9 5 4 d: költség π: szülő 7

Példa 1 2 3 4 2 0 3 5 ∞ d 3  1

Példa 1 2 3 4 2 0 3 5 ∞ d 3 1 2 nil π 1 1 1 0 kész 3 1 2 9 5 4 d: költség π: szülő 7

Példa 1 2 3 4 2 0 3 5 12 d 3  1

Példa 1 2 3 4 2 0 3 5 12 d 3 1 2 3 π 1 1 1 0 kész 3 1 2 9 5 4 d: költség π: szülő 7

Példa 1 2 3 4 2 0 3 5 12 d 3  1

Példa 1 2 3 4 2 0 3 5 12 d 3 1 2 3 π 1 1 0 0 kész 3 1 2 9 5 4 d: költség π: szülő 7

Példa 1 2 3 4 2 0 3 5 12 d 3  1

Példa 1 2 3 4 2 0 3 5 12 d 3 1 2 3 π 1 1 0 0 kész 3 1 2 9 5 4 d: költség π: szülő 7

Példa 1 2 3 4 2 0 3 5 5 d 3  1

Példa 1 2 3 4 2 0 3 5 5 d 3 1 2 3 π 1 1 0 0 kész 3 1 2 9 5 4 d: költség π: szülő 7

Stuktogram d[s], P[s] ≔ 0, NIL for all u ∊ V ∖ {s} d[u],

Stuktogram d[s], P[s] ≔ 0, NIL for all u ∊ V ∖ {s} d[u], P[u] ≔ ∞, NIL Üres(K); Üres(Qmin) Feltölt(Qmin) Qmin ≠ ∅ u ≔ Kivesz(Qmin) K ≔ K ∪ {u} for all v ∊ Szomszédok(u) ∖ K d[v] ≩ d[u] + c(u, v) d[v] ≔ d[u] + c(u, v) Helyreállít(Qmin) SKIP P[v] ≔ u