Module: Spanning Trees: Algoritmo di Kruskal


Problem

1/4

Algoritmo di Kruskal: l'inizio

Theory Click to read/hide

Un esempio di albero di copertura minimo in un grafico con pesi degli spigoli specificati: 


Algoritmo di Kruskal:

1) Ordina i bordi in base al peso  in ordine non decrescente.
2) Formiamo una lista di n alberi (ogni vertice è un albero).
3)  Iniziamo il processo di combinazione di questi alberi in un albero di copertura minimo:
      tutti i bordi vengono attraversati e se le estremità del bordo corrente appartengono a diversi sottoalberi, questi sottoalberi vengono uniti.
4) Al termine dell'enumerazione di tutti i bordi, tutti i vertici apparterranno allo stesso sottoalbero.

Problem

È necessario trovare un albero ricoprente di peso minimo in un grafo connesso.
 
Formato dei dati di input:
 
La prima riga del file di input contiene due numeri naturali N, M, rispettivamente il numero dei vertici e degli spigoli del grafico. Le m righe successive contengono la descrizione dei bordi, uno per riga. Il numero di spigolo i è descritto da tre numeri naturali Bi, Ei, Wi rispettivamente le estremità dello spigolo e il suo peso ( 1 <= SI< sub>i, MIi <= N, 0 <= LAi <= 232< /sup>-1. N <= 10, M <= 10).
 
Formato di output:
 
L'unica riga del file di output deve contenere un numero naturale: il peso dell'albero di copertura minimo. 
 
Entra Uscita
4 4
1 2 1
2 3 2
3 4 5
4 1 4
7