Menu
Coddy logo textTech

Pseudocodice

Lezione 4 di 9 del corso Algoritmo di Kruskal - Algoritmi sui grafi di Coddy.

kruskal(n, edges):
   parent[i] = i for all i          # each vertex its own set
   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:                   # no cycle
         parent[ru] = rv             # union
         total += w
   return total

find(x):
   while parent[x] != x: x = parent[x]
   return x
  • Scegliere l'arco inutilizzato più piccolo a ogni iterazione (selezione del minimo) evita di dover effettuare un ordinamento separato.
  • find risale fino alla radice; union consiste nell'assegnare una radice all'altra.

Provalo tu

Questa lezione non include una sfida di codice.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Algoritmo di Kruskal - Algoritmi sui grafi

Esercitati da solo: Compilatore C online