|
| drwnDisjointSets (unsigned int count=0) |
| construct a disjoint dataset with count nodes
|
|
| drwnDisjointSets (const drwnDisjointSets &dset) |
| copy constructor
|
|
| ~drwnDisjointSets () |
| destructor
|
|
int | size () const |
| return the total number of nodes in the disjoint set
|
|
int | size (int setId) const |
| return the number of nodes in set setId
|
|
int | sets () const |
| return the number of disjoint sets
|
|
std::set< int > | getMembers (int setId) |
| get the ids of nodes in set with id setId
|
|
void | add (int count) |
| add count (disconnected) nodes
|
|
int | find (int elementId) |
| find which set a particular node belongs to
|
|
int | join (int setId1, int setId2) |
| join two sets and return the joined set id (either setId1 or setId2 )
|
|
std::vector< int > | getSetIds () const |
| return a list of valid set ids
|
|
drwnDisjointSets & | operator= (const drwnDisjointSets &dset) |
| assignment operator
|
|
Implements a forest of disjoint sets abstract data type.
The elements are numbered from 0 to (size() - 1). Each element belongs to exactly one set. The sets have ID sparesly numbered in the range 0 to (size() - 1). To get the number of elements of each set, call size(id) with a valid set ID.
- See also
- Disjoint Sets