Nachfolgend wird eine Beispielimplementierung in Pseudocode angegeben, die sich an [4] anlehnt.
algorithm Dijkstra(G, s) { berechne alle kürzesten Wege von s zu allen
anderen Knoten in G }
ROT := {s}; GRÜN := {}; dist(s) := 0;
while ROT <> {} do
wähle v aus ROT, so dass dist(v) minimal von allen Knoten aus ROT;
färbe v grün;
for each Nachfolger w von v do
if w nicht in ROT oder GRÜN
{ w wurde also noch nie besucht }
then färbe (v, w) grün;
färbe w rot;
dist(w) := dist(v) + c(v, w);
elseif w in ROT
{ w wurde bereits besucht, aber noch nicht abschließend }
then if dist(w) > dist(v) + c(v, w)
then färbe (v, w) grün;
färbe die bisherige grüne Kante zu w rot;
dist(w) := dist(v) + c(v, w);
else färbe (v, w) rot;
fi
else
{ w ist also in GRÜN und schon abschließend betrachtet }
färbe (v, w) rot;
fi
od
od.