Pseudo Code
الدرس 4 من 9 في دورة خوارزمية Bellman-Ford - خوارزميات المخططات على 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
// دورة سالبة: بعد n-1 من التمريرات، إذا كانت أي حافة لا تزال تتقلص (relaxes)، فهذا يعني وجود دورة سالبة.- يمنع الحارس
dist[u] != INFمن بناء مسارات انطلاقاً من رؤوس لا يمكن الوصول إليها. - تخفيف (Relaxing) قائمة الحواف بالكامل يُعد تمريرة واحدة. خوارزمية بيلمان-فورد (Bellman-Ford) هي مجرد تكرار لتلك التمريرة
n - 1من المرات.
جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس خوارزمية Bellman-Ford - خوارزميات المخططات
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)