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 void
void
print()
Ausgabe der Union-Find-Struktur zu Testzwecken.int
size()
Liefert die Anzahl der Teilmengen in der Partitionierung zurück.void
Vereinigt 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
-