Pseudo Code
Lição 4 de 9 do curso Algoritmo de Kruskal - Algoritmos de Grafos da Coddy.
kruskal(n, edges):
parent[i] = i for all i # cada vértice é seu próprio conjunto
total = 0
repeat until all edges considered:
pick the unused edge (u, v, w) with the smallest w
ru = find(u); rv = find(v)
if ru != rv: # sem ciclo
parent[ru] = rv # união
total += w
return total
find(x):
while parent[x] != x: x = parent[x]
return x- Escolher a menor aresta não utilizada a cada rodada (min-selection) evita a necessidade de uma ordenação separada.
- find percorre até a raiz; union é uma atribuição única de uma raiz à outra.
Experimente você mesmo
Esta lição não inclui um desafio de código.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Algoritmo de Kruskal - Algoritmos de Grafos
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)