Union-find data structure for representing disjoin sets of elements with few very quick operations: 1) union of two sets in one, 2) checking whether two elements pertain to the same set, 3) finding representative element (root) of each set by any set's element. More...
Public Member Functions | |
| unsafe | UnionFind_MRUndirectedEdgeId () |
| Constructs an empty (default-constructed) instance. | |
| unsafe | UnionFind_MRUndirectedEdgeId (MR._ByValue_UnionFind_MRUndirectedEdgeId _other) |
| Generated from constructor MR::UnionFind<MR.UndirectedEdgeId>::UnionFind. | |
| UnionFind_MRUndirectedEdgeId (Const_UnionFind_MRUndirectedEdgeId _other) | |
| Generated from constructor MR::UnionFind<MR.UndirectedEdgeId>::UnionFind. | |
| UnionFind_MRUndirectedEdgeId (UnionFind_MRUndirectedEdgeId _other) | |
| Generated from constructor MR::UnionFind<MR.UndirectedEdgeId>::UnionFind. | |
| unsafe | UnionFind_MRUndirectedEdgeId (ulong size) |
| creates union-find with given number of elements, each element is the only one in its disjoint set Generated from constructor MR::UnionFind<MR.UndirectedEdgeId>::UnionFind. | |
| unsafe MR.UnionFind_MRUndirectedEdgeId | assign (MR._ByValue_UnionFind_MRUndirectedEdgeId _other) |
| Generated from method MR::UnionFind<MR.UndirectedEdgeId>::operator=. | |
| unsafe void | reset (ulong size) |
| resets union-find to represent given number of elements, each element is the only one in its disjoint set Generated from method MR::UnionFind<MR.UndirectedEdgeId>reset. | |
| unsafe MR.Std.Pair_MRUndirectedEdgeId_Bool | unite (MR.UndirectedEdgeId first, MR.UndirectedEdgeId second) |
| unite two elements, | |
| unsafe bool | united (MR.UndirectedEdgeId first, MR.UndirectedEdgeId second) |
| returns true if given two elements are from one set Generated from method MR::UnionFind<MR.UndirectedEdgeId>united. | |
| unsafe MR.UndirectedEdgeId | find (MR.UndirectedEdgeId a) |
| finds the root of the set containing given element with optimizing data structure updates Generated from method MR::UnionFind<MR.UndirectedEdgeId>find. | |
| unsafe MR.UndirectedEdgeId | findUpdateRange (MR.UndirectedEdgeId a, MR.UndirectedEdgeId begin, MR.UndirectedEdgeId end) |
| finds the root of the set containing given element with optimizing data structure in the range [begin, end) Generated from method MR::UnionFind<MR.UndirectedEdgeId>findUpdateRange. | |
| unsafe MR.Const_UndirectedEdgeMap | roots () |
| sets the root of corresponding set as the parent of each element, then returns the vector Generated from method MR::UnionFind<MR.UndirectedEdgeId>roots. | |
| unsafe int | sizeOfComp (MR.UndirectedEdgeId a) |
| returns the number of elements in the set containing given element Generated from method MR::UnionFind<MR.UndirectedEdgeId>sizeOfComp. | |
Union-find data structure for representing disjoin sets of elements with few very quick operations: 1) union of two sets in one, 2) checking whether two elements pertain to the same set, 3) finding representative element (root) of each set by any set's element.
| I | is the identifier of a set's element, e.g. FaceId Generated from class MR::UnionFind<MR.UndirectedEdgeId>. This is the non-const half of the class. |
|
inline |
Constructs an empty (default-constructed) instance.
|
inline |
Generated from constructor MR::UnionFind<MR.UndirectedEdgeId>::UnionFind.
|
inline |
Generated from constructor MR::UnionFind<MR.UndirectedEdgeId>::UnionFind.
|
inline |
Generated from constructor MR::UnionFind<MR.UndirectedEdgeId>::UnionFind.
|
inline |
creates union-find with given number of elements, each element is the only one in its disjoint set Generated from constructor MR::UnionFind<MR.UndirectedEdgeId>::UnionFind.
|
inline |
Generated from method MR::UnionFind<MR.UndirectedEdgeId>::operator=.
|
inline |
finds the root of the set containing given element with optimizing data structure updates Generated from method MR::UnionFind<MR.UndirectedEdgeId>find.
|
inline |
finds the root of the set containing given element with optimizing data structure in the range [begin, end) Generated from method MR::UnionFind<MR.UndirectedEdgeId>findUpdateRange.
|
inline |
resets union-find to represent given number of elements, each element is the only one in its disjoint set Generated from method MR::UnionFind<MR.UndirectedEdgeId>reset.
|
inline |
sets the root of corresponding set as the parent of each element, then returns the vector Generated from method MR::UnionFind<MR.UndirectedEdgeId>roots.
|
inline |
returns the number of elements in the set containing given element Generated from method MR::UnionFind<MR.UndirectedEdgeId>sizeOfComp.
|
inline |
unite two elements,
|
inline |
returns true if given two elements are from one set Generated from method MR::UnionFind<MR.UndirectedEdgeId>united.