Қандай да бір орнатылған s шыңынан графтың басқа шыңдарына дейінгі арақашықтықты анықтайтын жалпы алгоритмді қарастырайық. Әдетте бұл алгоритмді Форд-Беллман алгоритмі деп атайды. Алгоритмнің жұмысы кезінде графта ұзындығы теріс мәнді контурлар жоқ деп болжанады.
1 BEGIN
2 FOR v ∈V DO D[v] := a[s, v]; D[s]:= 0;
3 FOR k := 1 TO n-2 DO
4 FOR v∈V \ {s} DO
5 FOR u ∈ V DO D[v] := min(D[v], D[u]+a[u, v])
6 END;
Алгоритм күрделілігі 0 (п 3 ) екендігі анық. Іс жүзінде есептеуді 4- циклдің орындалуы D[v], v ∈ V айнымалыларында ешқандай өзгеріс тудырмаған жағдайда аяқтауға болады. Бұл kFOR u ∈ АЛДЫҢҒЫ [v] DO D[v] := min(D[v], D[u]+a[u, v]) алмастырамыз.
Күрделілігі O(n*m) болатын алгоритм аламыз. 32-суретте Форд-Беллман алгоритмінің жұмысын бейнелейтін мысал көрсетілген. Мұнда 4,5-циклдер шыңдар номерінің өсу ретімен орындалады.