A simple and efficient Union-Find-Delete algorithm
The Union-Find data structure for maintaining disjoint sets is one of the best known and widespread data structures, in particular the version with constant-time Union and efficient Find. Recently, the question of how to handle deletions from the structure in an efficient manner has been taken up, first by Kaplan et al. (2002) [2] and subsequently by Alstrup et al. (2005)[11]. The latter work shows that it is possible to implement deletions in constant time, without affecting adversely the asymptotic complexity of other operations, even when this complexity is calculated as a function of the current size of the set. In this note we present a conceptual and technical simplification of the algorithm, which has the same theoretical efficiency, and is probably more attractive in practice. (c) 2010 Elsevier B.V. All rights reserved.
union-find data structures disjoint sets