A pure disjoint set (union-find) data structure