Unionfind.Make
type elt = S.elt
The type of elements in the partition
type set = S.t
A set structure over elements
val create : unit -> t
Initialise an empty partition
Add (in place) an element in the partition, or do nothing if the element is already in the partition.
Find the canonical representative of an element. Raise not_found
if the element isn't known yet.
Merge (in place) the equivalence classes of two elements. This will add the elements in the partition if necessary.