How it works?
Lektion 3 von 9 im Kurs Kruskals Algorithmus - Graph-Algorithmen von Coddy.
Union-Find verwaltet ein parent-Array. Jeder Knoten beginnt als seine eigene Wurzel. Zwei Operationen steuern alles:
- find(x): Folge den
parent-Links, bis du eine Wurzel erreichst (ein Knoten, der sein eigener Elternknoten ist). Zwei Knoten sind verbunden, wenn sie dieselbe Wurzel teilen. - union(a, b): Lasse eine Wurzel auf die andere zeigen, wodurch die beiden Mengen zusammengeführt werden.
Kruskals Algorithmus:
- Verarbeite die Kanten vom kleinsten zum größten Gewicht.
findfür jede Kante die Wurzeln ihrer Endpunkte. Wenn sie sich unterscheiden, verbindet die Kante zwei separate Teile: Führe sie mitunionzusammen und addiere ihr Gewicht zur Gesamtsumme.- Wenn die Wurzeln gleich sind, würde die Kante einen Zyklus bilden, also überspringe sie.
Nach der Verarbeitung jeder Kante bilden die gewählten Kanten den MST (bei einem zusammenhängenden Graphen sind es genau n - 1).
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Kruskals Algorithmus - Graph-Algorithmen
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)