|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
E
- element typepublic interface UnionFind<E>
Union-Find is a classical algorithm used to find connected components in graph theory.
Each equivalence class has a representative element that is chosen arbitrarily and is used to determine if two elements are members of the same class.
See algorithmist for more detail.
Method Summary | |
---|---|
void |
add(E e)
Adds the given element to a new set if it is not already in a set. |
Collection<Set<E>> |
allEquivalenceClasses()
Returns an immutable collection containing all equivalence classes. |
boolean |
areEquivalent(E a,
E b)
Returns true if a and b belong to the same equivalence
class. |
Set<E> |
elements()
Returns an unmodifiable set of all elements added to the UnionFind. |
E |
find(E e)
Returns the representative of the equivalence class of e . |
Set<E> |
findAll(E value)
Returns the elements in the same equivalence class as value . |
E |
union(E a,
E b)
Unions the equivalence classes of a and b and returns the
representative of the resulting equivalence class. |
Method Detail |
---|
void add(E e)
UnsupportedOperationException
- if the add operation is not
supported by this union-find.E union(E a, E b)
a
and b
and returns the
representative of the resulting equivalence class. The elements will be
added if they are not already present.
UnsupportedOperationException
- if the add operation is not
supported by this union-find.E find(E e)
e
.
boolean areEquivalent(E a, E b)
a
and b
belong to the same equivalence
class.
IllegalArgumentException
- if any argument is not an element of this
structure.Set<E> elements()
Collection<Set<E>> allEquivalenceClasses()
Set<E> findAll(E value)
value
.
IllegalArgumentException
- if a requested element does not belong
to the structure.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |