Disjoint Set Union Algorithm

It provides near-constant-time operations (bounded by the inverse Ackermann function) to add new sets, to merge existing sets, and to determine whether components are in the same set. In computer science, a disjoint-put data structure (also named a union – find data structure or merge – find put) is a data structure that tracks a set of components partitioned into a number of disjoint (non-overlapping) subsets. In 2007, Sylvain Conchon and Jean-Christophe Filliâtre developed a persistent version of the disjoint-put forest data structure, letting previous versions of the structure to be efficiently retained, and formalized its correctness use the proof assistant Coq. In 1994, Richard J. Anderson and Heather Woll described a parallelized version of Union – Find that never needs to block. In 1991, Galil and Italiano published a survey of data structures for disjoint-sets.

Disjoint Set Union source code, pseudocode and analysis