Menu
Coddy logo textTech

Come funziona?

Lezione 3 di 9 del corso Algoritmo di Kruskal - Algoritmi sui grafi di Coddy.

Union-find mantiene un array parent. Ogni vertice inizia come radice di sé stesso. Due operazioni guidano tutto:

  • find(x): segui i collegamenti parent finché non raggiungi una radice (un vertice che è il proprio genitore). Due vertici sono connessi quando condividono una radice.
  • union(a, b): collega una radice all’altra, unendo i due insiemi.

Algoritmo di Kruskal:

  1. Elabora gli archi dal peso minore al maggiore.
  2. Per ogni arco, trova le radici dei suoi estremi con find. Se sono diverse, l’arco unisce due componenti separate: uniscile con union e aggiungi il suo peso al totale.
  3. Se le radici sono uguali, l’arco formerebbe un ciclo, quindi saltalo.

Dopo aver elaborato tutti gli archi, gli archi scelti formano l’MST (per un grafo connesso, esattamente n - 1 archi).

Provalo tu

Questa lezione non include una sfida di codice.

quiz iconMettiti alla prova

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

Esercitati da solo: Compilatore C online