BELLMAN-FORD(G,w,s)// initialize single source shortest path
- for all v ∈ G.V
- v.d = ∞
- v.π = NIL
- s.d = 0
- for i = 1 to |G.V| - 1
- for each edge (u,v) ∈ G.V // RELAX
- if v.d < u.d + w(u,v)
- v.π = u
- v.d = u.d + w(u,v)
- for each edge (u,v) ∈ G.V
- if v.d > u.d + w(u,v)
- return FALSE
- return TRUE