...
首页> 外文期刊>ACM transactions on algorithms >Data structures for mergeable trees
【24h】

Data structures for mergeable trees

机译:可合并树的数据结构

获取原文
获取原文并翻译 | 示例

摘要

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(log~2 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.
机译:出于计算几何学中的一种应用的动机,我们考虑了有效维护动态生根树森林的问题的一种新颖形式。此变体包括合并两个树路径的操作。与标准问题相反,在标准问题中,单个操作只能添加或删除一个弧,而一次合并最多可以添加和删除线性弧。尽管如此,我们开发了三种不同的方法,每个方法仅需要多对数时间。第一种方法扩展了Farach和Thorup [1998]针对路径特殊情况的解决方案。每个合并在n节点林上花费O(log〜2 n)的摊销时间,每个标准动态树操作花费O(log n)的时间。后者的界限是摊销,最坏的情况或根据基础数据结构随机分配。对于在激励应用程序中发生的特殊情况(其中不会发生任意弧删除(切割)),我们给出了一种方法,该方法每次操作(包括合并)都需要O(log n)时间。这在具有Ω(nlog n)下限以对n个数字进行排序的计算模型中是最好的,因为这样的排序可以在O(n)树操作中完成。对于没有剪切且没有父查询的更为特殊的情况,我们提供了一种使用标准动态树作为黑盒的方法:每个可合并的树操作成为恒定数量的标准动态树操作。该第三种方法也可以在激励应用程序中使用,但是只能通过在应用程序中更改算法来实现。我们的三种方法中的每一种都需要不同的分析工具,并且揭示出动态树的不同属性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号