Menu
Coddy logo textTech

Pseudo Code

Lektion 4 von 9 im Kurs Bellman-Ford-Algorithmus - Graphenalgorithmen von 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

// negativer Zyklus: Wenn nach n-1 Durchläufen immer noch eine Kante relaxiert werden kann, 
// existiert ein negativer Zyklus.
  • Die Bedingung dist[u] != INF verhindert, dass Pfade von unerreichbaren Knoten aus erstellt werden.
  • Das Relaxieren der gesamten Kantenliste entspricht einem Durchlauf. Bellman-Ford besteht lediglich daraus, diesen Durchlauf n - 1 Mal zu wiederholen.

Probier es selbst

Diese Lektion enthält keine Programmieraufgabe.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Bellman-Ford-Algorithmus - Graphenalgorithmen