增量 DFS 算法:理论与实验研究
数据结构与算法
2017-05-09 v1
摘要
深度优先搜索(DFS)树是解决图问题的基本数据结构。具有 个顶点和 条边的图 的 DFS 树可以在 时间内构建。迄今为止,仅为维护增量 DFS 设计了少数几种算法。对于无向图,两种算法即 ADFS1 和 ADFS2 [ICALP14] 分别达到总计 和 的时间。对于有向无环图(DAGs),唯一非平凡的算法即 FDFS [IPL97] 需要总计 时间。在本文中,我们对现有增量 DFS 算法在随机图和真实图中进行了广泛的实验与理论评估,并得出如下结果。1- 对于均匀随机序列的 条边的插入,ADFS1、ADFS2 和 FDFS 表现同样良好,实验发现耗时 。这相当令人惊讶,因为 ADFS1 和 FDFS 的最坏情况界分别比 高出 和 的因子。我们通过这些算法的概率分析补充了该结果,证明了更新时间的 界。在此,我们推导了关于随机图中 DFS 树结构的结果,其本身具有独立意义。2- 这些见解促使我们设计了一种极其简单的适用于无向图和 directed graphs(有向图)的增量 DFS 算法。该算法在理论上匹配并在实验中优于稠密随机图中的最先进水平。它也可用作随机图中增量 DFS 和强连通性的单遍半流式算法。3- 即使在真实图中,ADFS1 和 FDFS 的表现也远优于其理论界。在此我们再次提出两种用于有向和 undirected real graphs(无向真实图)增量 DFS 的简单算法。事实上,我们的有向图算法几乎总是与 FDFS 的性能相匹配。
引用
@article{arxiv.1705.02613,
title = {Incremental DFS algorithms: a theoretical and experimental study},
author = {Surender Baswana and Ayush Goel and Shahbaz Khan},
journal= {arXiv preprint arXiv:1705.02613},
year = {2017}
}
备注
31 pages, 14 figures