1 function Dijkstra(Graph, s):
2 for each vertex v in Graph: // inicializáció
3 dist[v] := infinity // kezdetben minden pont távolsága ismeretlen
4 previous[v] := undefined
5 dist[s] := 0 // a source csúcsból a source csúcsba 0 út megtételével jutunk
6 Q := copy(Graph)// meg nem látogatott csúcsok halmaza
7 whileQis not empty:
8 u := extract_min(Q)// kivesszük a számunkra legjobb csúcsot a prioritási sorból
9 for each neighbor v of u:
10 alt = dist[u] + length(u, v)
11 ifalt < dist[v] // ha ebből a csúcsból kedvezőbben juthatunk el v csúcsba,
12 dist[v] := alt// akkor frissítünk
13 previous[v] := u