Module: Arbres couvrants : l'algorithme de Kruskal


Problem

1/4

Algorithme de Kruskal : le début

Theory Click to read/hide

Exemple d'arbre couvrant minimal dans un graphique avec des poids d'arête spécifiés : 


Algorithme de Kruskal :

1) Trier les bords par poids  par ordre non décroissant.
2) On forme une liste de n arbres (chaque sommet est un arbre).
3)  Nous commençons le processus de combinaison de ces arbres dans un arbre couvrant minimum :
      toutes les arêtes sont traversées, et si les extrémités de l'arête actuelle appartiennent à des sous-arbres différents, alors ces sous-arbres sont fusionnés.
4) À la fin de l'énumération de toutes les arêtes, tous les sommets appartiendront au même sous-arbre.

Problem

Il est nécessaire de trouver un arbre couvrant de poids minimum dans un graphe connexe.
 
Format des données d'entrée :
 
La première ligne du fichier d'entrée contient deux nombres naturels N, M - le nombre de sommets et d'arêtes du graphe, respectivement. Les m lignes suivantes contiennent la description des arêtes, une par ligne. Le numéro d'arête i est décrit par trois nombres naturels Bi, Ei, Wi les extrémités de l'arête et son poids, respectivement ( 1 <= B< sub>i, Ei <= N, 0 <= Wi <= 232< /sup>-1. N <= 10, M <= 10).
 
Format de sortie :
 
La seule ligne du fichier de sortie doit contenir un nombre naturel - le poids de l'arbre couvrant minimum. 
 
Entrez
Sortie
4 4
1 2 1
2 3 2
3 4 5
4 1 4
7