Skip to Main Content
The online disjoint set union problem is solved essentially by implementing two operations which manipulate disjoint sets. FIND(x) computes the name of the unique set of which x is a member. UNION(A,B) merges the two sets A and B into one new set named either A or B. Given a set of n elements, we may perform f ≥ n FIND's and n−1 intermixed UNION's in time 0(fα(f,n)) and space 0(n), where α(f,n) is related to a functional inverse of Ackermann's function and grows slowly. We show that certain modifications to the UNION operation that are convenient in some applications do not affect the running time complexity. We also show that under appropriate input restrictions, UNION and FIND can be made to run in linear time. However, the space required is 0(n+e), where e is the number of equivalence pairs to be processed.