Pseudocodice
Lezione 4 di 9 del corso Algoritmo di Bellman-Ford - Algoritmi sui grafi di 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.- La condizione
dist[u] != INFimpedisce di costruire percorsi a partire da vertici irraggiungibili. - Rilassare l’intero elenco di archi costituisce un passaggio. Bellman-Ford non è altro che quel passaggio ripetuto
n - 1volte.
Provalo tu
Questa lezione non include una sfida di codice.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Algoritmo di Bellman-Ford - Algoritmi sui grafi
2L'algoritmo
Come funziona?PseudocodiceImplementazione (Parte 1)Implementazione (Parte 2)Esercitati da solo: Compilatore C online