中文

PC 树与 PQ 树的实验比较

数据结构与算法 2021-06-29 v1

摘要

PQ 树与 PC 树是分别表示线性与循环序集合的数据结构,其约束为特定元素子集必须连续。尽管二者等价,PC 树在概念上远比 PQ 树简单;使一组元素变为连续而更新 PC 树仅需单次操作,而 PQ 树使用的更新过程以九个变换模板描述,需递归匹配并应用。尽管有这些理论优势,迄今尚无实用的 PC 树实现可用。这可能是由于 Hsu 与 McConnell 的原始描述在某些地方仅勾勒了实现细节。在本文中,我们描述了 PC 树的两种替代实现。第一种遵循 Hsu 与 McConnell 的方法,填补必要细节并对原算法提出改进。第二种使用不同技术,借助并查集数据结构高效表示树。在广泛的实验评估中,我们将我们的实现与网上作为学术及其他软件库一部分提供的多种 PQ 树实现进行比较。结果表明,两种 PC 树实现均以 2 至 4 倍的差距击败其最接近的全正确竞争者、来自 OGDF 库的 PQ 树实现,显示 PC 树不仅在概念上更简单,而且实践中也很快。此外,我们发现基于并查集的实现虽渐近运行时间略差,却比基于 Hsu 与 McConnell 描述的那一种快一倍。

关键词

引用

@article{arxiv.2106.14805,
  title  = {Experimental Comparison of PC-Trees and PQ-Trees},
  author = {Simon D. Fink and Matthias Pfretzschner and Ignaz Rutter},
  journal= {arXiv preprint arXiv:2106.14805},
  year   = {2021}
}

备注

to appear in Proceedings of ESA 2021