中文

可合并树的数据结构

数据结构与算法 2007-11-13 v1

摘要

受计算拓扑学应用的启发,我们考虑了一种高效维护动态有根树问题的新变体。该变体要求在一次操作中合并两条路径。与标准问题(每次仅改变一条树弧)不同,单次合并操作可能改变多条弧。尽管如此,我们开发了一种数据结构,能够在 O(log^2 n) 摊销时间内支持 n 节点森林上的合并操作,并在 O(log n) 时间内支持所有其他标准树操作(根据底层数据结构的不同,分别为摊销、最坏情况或随机化时间)。对于 motivating 应用中出现的特殊情况(即不允许任意弧删除/切割),我们给出了一种每次操作时间界限为 O(log n) 的数据结构。在某些假设下,这是渐近最优的。对于更特殊的情况(即既不允许切割也不允许父节点查询),我们提供了一种替代的 O(log n) 时间解决方案,该方案将标准动态树作为黑盒使用。此解决方案也适用于 motivating 应用。我们的方法以各种方式利用了先前关于动态树的工作,但每种算法的分析都需要新颖的思想。我们还研究了在各种假设下该问题的下界。

关键词

引用

@article{arxiv.0711.1682,
  title  = {Data Structures for Mergeable Trees},
  author = {Loukas Georgiadis and Haim Kaplan and Nira Shafrir and Robert E. Tarjan and Renato F. Werneck},
  journal= {arXiv preprint arXiv:0711.1682},
  year   = {2007}
}
R2 v1 2026-06-29T05:32:48.681Z