Menu
Coddy logo textTech

Pseudo Code

Lección 4 de 9 del curso Algoritmo de Bellman-Ford - Algoritmos de grafos de 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

// ciclo negativo: después de n-1 pasadas, si alguna arista TODAVÍA se relaja, existe un ciclo negativo.
  • La guarda dist[u] != INF nos impide construir caminos a partir de vértices inalcanzables.
  • Relajar toda la lista de aristas es una pasada. Bellman-Ford es simplemente esa pasada repetida n - 1 veces.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Algoritmo de Bellman-Ford - Algoritmos de grafos