Algorithm: Bellman-Ford
Input: A weighted, directed graph G = (V, E, w); a source vertex s.
Output: A shortest-paths spanning tree T rooted at s.
for each vertex v ∈ V do
δ[v] ← ∞
π[v] ←NIL
δ[s] ← 0
for i ← 1 to n − 1 do
for each (u, v) ∈ E do
if δ[v] > δ[u] + w(u, v) then δ[v] ← δ[u] + w(u, v) π[v] ← u
for each (u, v) ∈ E do
if δ[v] > δ[u] + w(u, v) then
Output “A negative cycle exists.”
Exit
T ← ∅
for v ∈ V − s do
T ← T ∪ {(π[v], v)}
อัลกอริทึม: บริการฟอร์ดป้อนข้อมูล: น้ำหนัก กำกับกราฟ G = (V, E, w); จุด s เป็นแหล่งผลลัพธ์: แบบสั้นเส้นทางซึ่งประกอบไปด้วยต้นไม้รากที่ s Tสำหรับแต่ละจุดยอด v ∈ V ทำ∞←δ [v]←NIL π [v]←δ [s] 0หา ทำ← 1 กับ n − 1สำหรับแต่ละ (u, v) ∈ E ทำถ้าδ [v] > [u] δ w (u, v) แล้วδ←δ [v] [u] + w (u, v) u ←π [v]สำหรับแต่ละ (u, v) ∈ E ทำถ้าδ [v] > δ [u] + w (u, v) แล้วแสดงผล "รอบลบแล้ว"จบการทำงานT ← ∅สำหรับ v ∈ V − s ทำ∪← T T {(π [v] v) }
การแปล กรุณารอสักครู่..

แบบพนักงานฟอร์ด
ใส่ : ถ่วงน้ำหนัก กำกับกราฟ G = ( V , E , W ) ; แหล่ง VERTEX S .
ผลผลิต : เส้นทางสั้นที่สุดต้นไม้ทอดข้ามที่ S .
t รากสำหรับแต่ละจุดยอด v ∈ V ทำ
δ [ V ] ←∞
π [ V ] ←นิล
δ [ s สำหรับผม← ] ← 0
1 n − 1
( u , v ) แต่ละ∈ E ทำ
ถ้าδ [ V ] > δ [ u ] w ( u , v ) แล้วδ [ V ] ←δ [ u ] w ( u , v ) π [ V ] ←
U สำหรับแต่ละ ( u , v ) E ∈ทำ
ถ้าδ [ V ] > δ [ u ] w ( u , v
) แล้วผลผลิต " วงจรเชิงลบอยู่ ออก
" t ←∅
สำหรับ V ∈ V − s ทำ
T T ∪← { ( π [ V ] , V ) }
การแปล กรุณารอสักครู่..
