Worst-case Analysis of Set Union Algorithms
Journal of the ACM (JACM)
On the single-operation worst-case time complexity of the disjoint set union problem
SIAM Journal on Computing
The cell probe complexity of dynamic data structures
STOC '89 Proceedings of the twenty-first annual ACM symposium on Theory of computing
Data structures and algorithms for disjoint set union problems
ACM Computing Surveys (CSUR)
The design and analysis of algorithms
The design and analysis of algorithms
Worst-case and amortised optimality in union-find (extended abstract)
STOC '99 Proceedings of the thirty-first annual ACM symposium on Theory of computing
Efficiency of a Good But Not Linear Set Union Algorithm
Journal of the ACM (JACM)
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Introduction to Algorithms
Top-Down Analysis of Path Compression
SIAM Journal on Computing
ACM Transactions on Algorithms (TALG)
Note: A simple and efficient Union-Find-Delete algorithm
Theoretical Computer Science
Don't rush into a union: take time to find your roots
Proceedings of the forty-third annual ACM symposium on Theory of computing
Hi-index | 0.00 |
A union-find data structure maintains a collection of disjoint sets under makeset, union and find operations. Kaplan, Shafrir and Tarjan [SODA 2002] designed data structures for an extension of the union-find problem in which elements of the sets maintained may be deleted. The cost of a delete operation in their implementations is the same as the cost of a find operation. They left open the question whether delete operations can be implemented more efficiently than find operations. We resolve this open problem by presenting a relatively simple modification of the classical union-find data structure that supports delete, as well as makeset and union, operations in constant time, while still supporting find operations in O(log n) worst-case time and O(α(n)) amortized time, where n is the number of elements in the set returned by the find operation, and α(n) is a functional inverse of Ackermann’s function.