Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

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 من المرات.

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس خوارزمية Bellman-Ford - خوارزميات المخططات