Menu
Coddy logo textTech

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.

quiz iconTeste seus conhecimentos

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