Klasse UnionFind<T>
java.lang.Object
TelNetApplication.UnionFind<T>
Klasse für Union-Find-Strukturen.
Unterstützt die effiziente Verwaltung einer Partionierung einer Menge
(disjunkte Zerlegung in Teilmengen).
Union-Find-Struktur mit Pfadkompression und Union-by-Rank.
Im Durchschnitt haben unionByRank und findWithCompression praktisch eine Laufzeit von O(1).
- Seit:
- 24.01.2025
-
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungLiefert den Repräsentanten der Teilmenge zurück, zu der e gehört.static voidvoidprint()Ausgabe der Union-Find-Struktur zu Testzwecken.intsize()Liefert die Anzahl der Teilmengen in der Partitionierung zurück.voidVereinigt die beiden Teilmengen, die e1 bzw. e2 enthalten.
-
Konstruktordetails
-
UnionFind
-
-
Methodendetails
-
find
Liefert den Repräsentanten der Teilmenge zurück, zu der e gehört. Pfadkompression wird angewendet.- Parameter:
e- Element- Gibt zurück:
- Repräsentant der Teilmenge, zu der e gehört.
- Löst aus:
IllegalArgumentException- falls e nicht in der Partionierung vorkommt.
-
union
Vereinigt die beiden Teilmengen, die e1 bzw. e2 enthalten. Die Vereinigung wird nur durchgeführt, falls die beiden Mengen unterschiedlich sind. Es wird union-by-rank durchgeführt.- Parameter:
e1- Element.e2- Element.- Löst aus:
IllegalArgumentException- falls e1 und e2 keine Elemente der Union-Find-Struktur sind.
-
print
public void print()Ausgabe der Union-Find-Struktur zu Testzwecken. -
size
public int size()Liefert die Anzahl der Teilmengen in der Partitionierung zurück.- Gibt zurück:
- Anzahl der Teilmengen.
-
main
-