int set_disjoint_find(DisjointSet *ds, int i)
Finds the representative of the set containing element i.
void set_disjoint_free(DisjointSet *ds)
Free a disjoint-set data structure.
DisjointSet * set_disjoint_create(int n)
Creates a new disjoint-set data structure with n elements.
struct DisjointSet DisjointSet
A disjoint-set data structure.
Definition set-disjoint.h:8
void set_disjoint_union(DisjointSet *ds, int i, int j)
Merges the sets containing elements i and j.