TY - JOUR

T1 - Data structures for mergeable trees

AU - Georgiadis, Loukas

AU - Kaplan, Haim

AU - Shafrir, Nira

AU - Tarjan, Robert E.

AU - Werneck, Renato F.

PY - 2011/3

Y1 - 2011/3

N2 - Motivated by an application in computational geometry, we consider a novel variant of the problem of efficiently maintaining a forest of dynamic rooted trees. This variant includes an operation that merges two tree paths. In contrast to the standard problem, in which a single operation can only add or delete one arc, one merge can add and delete up to a linear number of arcs. In spite of this, we develop three different methods that need only polylogarithmic time per operation. The firstmethod extends a solution of Farach and Thorup [1998] for the special case of paths. Each merge takes O(log2 n) amortized time on an n-node forest and each standard dynamic tree operation takes O(log n) time; the latter bound is amortized, worst case, or randomized depending on the underlying data structure. For the special case that occurs in the motivating application, in which arbitrary arc deletions (cuts) do not occur, we give amethod that takes O(log n) time per operation, including merging. This is best possible in a model of computation with an Ω(nlog n) lower bound for sorting n numbers, since such sorting can be done in O(n) tree operations. For the even-more-special case in which there are no cuts and no parent queries, we give a method that uses standard dynamic trees as a black box: each mergeable tree operation becomes a constant number of standard dynamic tree operations. This third method can also be used in the motivating application, but only by changing the algorithm in the application. Each of our three methods needs different analytical tools and reveals different properties of dynamic trees.

AB - Motivated by an application in computational geometry, we consider a novel variant of the problem of efficiently maintaining a forest of dynamic rooted trees. This variant includes an operation that merges two tree paths. In contrast to the standard problem, in which a single operation can only add or delete one arc, one merge can add and delete up to a linear number of arcs. In spite of this, we develop three different methods that need only polylogarithmic time per operation. The firstmethod extends a solution of Farach and Thorup [1998] for the special case of paths. Each merge takes O(log2 n) amortized time on an n-node forest and each standard dynamic tree operation takes O(log n) time; the latter bound is amortized, worst case, or randomized depending on the underlying data structure. For the special case that occurs in the motivating application, in which arbitrary arc deletions (cuts) do not occur, we give amethod that takes O(log n) time per operation, including merging. This is best possible in a model of computation with an Ω(nlog n) lower bound for sorting n numbers, since such sorting can be done in O(n) tree operations. For the even-more-special case in which there are no cuts and no parent queries, we give a method that uses standard dynamic trees as a black box: each mergeable tree operation becomes a constant number of standard dynamic tree operations. This third method can also be used in the motivating application, but only by changing the algorithm in the application. Each of our three methods needs different analytical tools and reveals different properties of dynamic trees.

KW - Amortized efficiency

KW - Computational topology

KW - Critical pairs

KW - Dynamic trees

KW - Extreme points

KW - Link-cut trees

KW - Manifolds

KW - Merging

UR - http://www.scopus.com/inward/record.url?scp=79953250881&partnerID=8YFLogxK

U2 - 10.1145/1921659.1921660

DO - 10.1145/1921659.1921660

M3 - מאמר

AN - SCOPUS:79953250881

VL - 7

JO - ACM Transactions on Algorithms

JF - ACM Transactions on Algorithms

SN - 1549-6325

IS - 2

M1 - 14

ER -