פסאודו־קוד
שיעור 4 מתוך 9 בקורס אלגוריתם בלמן-פורד – אלגוריתמים על גרפים של Coddy.
bellmanFord(n, edges, source):
dist = [INF, INF, ...]; dist[source] = 0
repeat (n - 1) times:
for each edge (u -> v, weight w):
if dist[u] != INF and dist[u] + w < dist[v]:
dist[v] = dist[u] + w
replace every remaining INF with -1
return dist
// negative cycle: after n-1 passes, if any edge STILL relaxes, a
// negative cycle exists.- תנאי ההגנה
dist[u] != INFמונע מאיתנו לבנות מסלולים מקודקודים שאינם נגישים. - הרפיית כל רשימת הקשתות היא מעבר אחד. Bellman-Ford הוא פשוט אותו מעבר שחוזר
n - 1פעמים.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה אלגוריתם בלמן-פורד – אלגוריתמים על גרפים
תרגלו בעצמכם: קומפיילר C אונליין