110 likes | 243 Views
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 ∞, 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)
E N D
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.
3 1 2 4 3 2 9 5 7 Példa d: költség π: szülő
1 2 4 3 Példa s:= 3 2 9 5 7 d: költség π: szülő
1 2 4 3 Példa 3 2 9 5 7 d: költség π: szülő
1 2 4 3 Példa 3 2 9 5 7 d: költség π: szülő
1 2 4 3 Példa 3 2 9 5 7 d: költség π: szülő
1 2 4 3 Példa 3 2 9 5 7 d: költség π: szülő
1 2 4 3 Példa 3 2 9 5 7 d: költség π: szülő
1 2 4 3 Példa 3 2 9 5 7 d: költség π: szülő
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) SKIP Helyreállít(Qmin) P[v] ≔ u Stuktogram