Dadas essas observações, é conveniente usar uma interpretação ligeiramente diferente do algoritmo de Kruskal. Podemos considerar as operações do algoritmo como uma progressão através de uma série de florestas contendo todos os vértices de um determinado grafo e algumas de suas arestas. A floresta inicial consiste em | V | árvores triviais, cada uma compreendendo um único vértice do grafo. A floresta final consiste em uma única árvore, que é a minimum spanning tree do grafo. Em cada iteração, o algoritmo pega a próxima aresta (u, v) da lista ordenada de arestas do grafo, encontra as árvores contendo os vértices u e v e, se essas árvores não forem iguais, as une em uma árvore maior adicionando a aresta (u, v). Felizmente, existem algoritmos eficientes para fazer isso, incluindo a verificação crucial se dois vértices pertencem à mesma árvore. Eles são chamados de algoritmos de Union-Find.
-