Come funziona?
Lezione 3 di 9 del corso Algoritmo di Dijkstra - Algoritmi su grafi di Coddy.
Mantieni un array dist: dist[source] = 0 e tutti gli altri vertici iniziano a "infinity" (un numero molto grande). Mantieni un flag visited per ogni vertice.
Procedura passo per passo:
- Tra i vertici non visitati, scegli quello
ucon il valoredistpiù piccolo. Se nessuno è raggiungibile, fermati. - Contrassegna
ucome visitato: la sua distanza è ora definitiva. - Rilassa ogni arco
u -> vdi pesow: sedist[u] + w < dist[v], diminuiscidist[v]. - Ripeti finché tutti i vertici raggiungibili non sono definitivi.
Alla fine, qualsiasi vertice che è ancora a infinito è irraggiungibile (lo indichiamo con -1).
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 Dijkstra - Algoritmi su grafi
2L'algoritmo
Come funziona?PseudocodiceImplementazione (Parte 1)Implementazione (Parte 2)Esercitati da solo: Compilatore C online