How it works?
Leçon 3 sur 9 du cours Algorithme de Kruskal - Algorithmes de graphes de Coddy.
Union-find conserve un tableau parent. Chaque sommet commence comme sa propre racine. Deux opérations pilotent l'ensemble :
- find(x) : suit les liens
parentjusqu'à atteindre une racine (un sommet qui est son propre parent). Deux sommets sont connectés lorsqu'ils partagent une racine. - union(a, b) : pointe une racine vers l'autre, fusionnant ainsi les deux ensembles.
Algorithme de Kruskal :
- Traiter les arêtes du plus petit poids au plus grand.
- Pour chaque arête, utiliser
findpour trouver les racines de ses extrémités. Si elles diffèrent, l'arête relie deux parties distinctes : effectuez une opérationunionsur elles et ajoutez son poids au total. - Si les racines sont les mêmes, l'arête formerait un cycle, il faut donc l'ignorer.
Après avoir traité chaque arête, les arêtes choisies forment l'arbre couvrant minimal (pour un graphe connexe, il y en a exactement n - 1).
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Algorithme de Kruskal - Algorithmes de graphes
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)