Module: Spanning Trees: Algoritmo de Kruskal


Problem

1/4

Algoritmo de Kruskal: o começo

Theory Click to read/hide

Um exemplo de árvore geradora mínima em um grafo com pesos de borda especificados: 


Algoritmo de Kruskal:

1) Classifique as arestas por peso  em ordem não decrescente.
2) Formamos uma lista de n árvores (cada vértice é uma árvore).
3)  Iniciamos o processo de combinação dessas árvores em uma árvore geradora mínima:
      todas as arestas são percorridas e, se as extremidades da aresta atual pertencem a diferentes subárvores, essas subárvores são mescladas.
4) Ao final da enumeração de todas as arestas, todos os vértices pertencerão à mesma subárvore.

Problem

É necessário encontrar uma árvore geradora de peso mínimo em um grafo conectado.
 
Formato de dados de entrada:
 
A primeira linha do arquivo de entrada contém dois números naturais N, M - o número de vértices e arestas do gráfico, respectivamente. As próximas m linhas contêm a descrição das arestas, uma por linha. O número da aresta i é descrito por três números naturais Bi, Ei, Wi as extremidades da aresta e seu peso, respectivamente ( 1 <= B< sub>i, Ei <= N, 0 <= Wi <= 232< /sup>-1. N <= 10, M <= 10).
 
Formato de saída:
 
A única linha do arquivo de saída deve conter um número natural - o peso da árvore geradora mínima. 
 
Entrar Saída
4 4
1 2 1
2 3 2
3 4 5
4 1 4
7