The dynamic trees problem is to maintain a tree under edge updates while supporting queries like connectivity queries or path queries. Despite the first data structure for this fundamental problem -- the link-cut tree -- being invented 40 years ago, our experiments reveal that they are still the fastest sequential data structure for the problem. However, link-cut trees cannot support parallel batch-dynamic updates and have limitations on the kinds of queries they support. In this paper, we design a new parallel batch-dynamic trees data structure called UFO trees that simultaneously supports a wide range of query functionality, supports work-efficient parallel batch-dynamic updates, and is competitive with link-cut trees when run sequentially. We prove that a key reason for the strong practical performance of both link-cut trees and UFO trees is that they can perform updates and queries in sub-logarithmic time for low-diameter trees. We perform an experimental study of our optimized C++ implementations of UFO trees with ten other dynamic tree implementations, several of which are new, in a broad benchmark of both synthetic and real-world trees of varying diameter and size. Our results show that, in both sequential and parallel settings, UFO trees are the fastest dynamic tree data structure that supports a wide range of queries. Our new implementation of UFO trees has low space usage and easily scales to billion-size inputs, making it a promising building block for implementing more complex dynamic graph algorithms in practice.


翻译:动态树问题旨在维护一棵树,在支持边更新的同时,能够处理连通性查询或路径查询等操作。尽管针对这一基础问题的首个数据结构——link-cut树——已在40年前被提出,但我们的实验表明,它仍然是解决该问题最快的串行数据结构。然而,link-cut树无法支持并行批处理动态更新,且其支持的查询类型存在局限性。本文设计了一种名为UFO树的新型并行批处理动态树数据结构,它同时支持广泛的查询功能,能够实现工作量高效的并行批处理动态更新,并且在串行运行时与link-cut树性能相当。我们证明,link-cut树和UFO树在实际中表现优异的一个关键原因在于,对于低直径树,它们能够在亚对数时间内完成更新和查询操作。我们通过优化的C++实现,对UFO树与其他十种动态树实现(其中几种为全新设计)进行了实验研究,测试基准涵盖了不同直径和规模的合成树与真实世界树。实验结果表明,无论在串行还是并行环境下,UFO树都是支持广泛查询功能的最快动态树数据结构。我们新实现的UFO树具有低空间占用特性,并能轻松扩展至十亿级规模输入,这使其成为实践中实现更复杂动态图算法的有前景的基础构建模块。

0
下载
关闭预览

相关内容

GitHub获赞过千:PyTorch 自然语言处理项目Top 5
新智元
12+阅读 · 2018年7月10日
构建AI知识体系-专知主题知识树简介
专知
339+阅读 · 2017年9月17日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Arxiv
0+阅读 · 2月6日
Arxiv
0+阅读 · 1月26日
VIP会员
相关VIP内容
相关基金
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员