Pseudocodice
Lezione 4 di 9 del corso Algoritmo di Kruskal - Algoritmi sui grafi di Coddy.
kruskal(n, edges):
parent[i] = i for all i # each vertex its own set
total = 0
repeat until all edges considered:
pick the unused edge (u, v, w) with the smallest w
ru = find(u); rv = find(v)
if ru != rv: # no cycle
parent[ru] = rv # union
total += w
return total
find(x):
while parent[x] != x: x = parent[x]
return x- Scegliere l'arco inutilizzato più piccolo a ogni iterazione (selezione del minimo) evita di dover effettuare un ordinamento separato.
- find risale fino alla radice; union consiste nell'assegnare una radice all'altra.
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 Kruskal - Algoritmi sui grafi
2L'algoritmo
Come funziona?PseudocodiceImplementazione (Parte 1)Implementazione (Parte 2)Esercitati da solo: Compilatore C online