How it works?
Lección 3 de 9 del curso Algoritmo de Kruskal - Algoritmos de grafos de Coddy.
Union-find mantiene un arreglo parent. Cada vértice comienza como su propia raíz. Dos operaciones lo dirigen todo:
- find(x): sigue los enlaces
parenthasta llegar a una raíz (un vértice que es su propio padre). Dos vértices están conectados cuando comparten una raíz. - union(a, b): apunta una raíz a la otra, fusionando los dos conjuntos.
Algoritmo de Kruskal:
- Procesa las aristas desde el peso más pequeño al más grande.
- Para cada arista,
findlas raíces de sus extremos. Si difieren, la arista une dos piezas separadas:uniony añade su peso al total. - Si las raíces son las mismas, la arista formaría un ciclo, así que omítela.
Después de procesar cada arista, las aristas elegidas forman el MST (para un grafo conectado, exactamente n - 1 de ellas).
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Algoritmo de Kruskal - Algoritmos de grafos
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)