java.lang.Object
org.jgrapht.alg.util.UnionFind<T>
- Type Parameters:
- T- element type
An implementation of Union
 Find data structure. Union Find is a disjoint-set data structure. It supports two operations:
 finding the set a specific element is in, and merging two sets. The implementation uses union by
 rank and path compression to achieve an amortized cost of $O(\alpha(n))$ per operation where
 $\alpha$ is the inverse Ackermann function. UnionFind uses the hashCode and equals method of the
 elements it operates on.
- Author:
- Tom Conerly
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddElement(T element) Adds a new element to the data structure in its own set.Returns the representative element of the set that element is in.booleanTests whether two elements are contained in the same set.intReturns the number of sets.voidreset()Resets the UnionFind data structure: each element is placed in its own singleton set.intsize()Returns the total number of elements in this data structure.toString()Returns a string representation of this data structure.voidMerges the sets which contain element1 and element2.
- 
Constructor Details- 
UnionFindCreates a UnionFind instance with all the elements in separate sets.- Parameters:
- elements- the initial elements to include (each element in a singleton set).
 
 
- 
- 
Method Details- 
addElementAdds a new element to the data structure in its own set.- Parameters:
- element- The element to add.
 
- 
getParentMap- Returns:
- map from element to parent element
 
- 
getRankMap- Returns:
- map from element to rank
 
- 
findReturns the representative element of the set that element is in.- Parameters:
- element- The element to find.
- Returns:
- The element representing the set the element is in.
 
- 
unionMerges the sets which contain element1 and element2. No guarantees are given as to which element becomes the representative of the resulting (merged) set: this can be either find(element1) or find(element2).- Parameters:
- element1- The first element to union.
- element2- The second element to union.
 
- 
inSameSetTests whether two elements are contained in the same set.- Parameters:
- element1- first element
- element2- second element
- Returns:
- true if element1 and element2 are contained in the same set, false otherwise.
 
- 
numberOfSetspublic int numberOfSets()Returns the number of sets. Initially, all items are in their own set. The smallest number of sets equals one.- Returns:
- the number of sets
 
- 
sizepublic int size()Returns the total number of elements in this data structure.- Returns:
- the total number of elements in this data structure.
 
- 
resetpublic void reset()Resets the UnionFind data structure: each element is placed in its own singleton set.
- 
toStringReturns a string representation of this data structure. Each component is represented as $\left{v_i:v_1,v_2,v_3,...v_n\right}$, where $v_i$ is the representative of the set.
 
-