如何动态查找连接组件

时间:2011-08-30 09:27:39

标签: algorithm boost graph-theory

使用disjoint-set数据结构可以轻松获得Graph的连接组件。而且,它只支持Incremental Connected Components

但是,在我的情况下,删除边缘非常常见,因此我正在寻找算法或新结构可以保持连接组件完全动态(包括添加和删除边缘)

由于

1 个答案:

答案 0 :(得分:6)

Poly-logarithmic deterministic fully-dynamic algorithms for connectivity, minimum spanning tree, 2-edge, and biconnectivity (Holm, de Lichtenberg and Thorup 2001)给出了一种算法,允许任意边缘插入,删除和连接查询序列,更新(插入和删除)采用O(log(n)^ 2)摊销时间,并且查询采用O( log(n)/ log(log(n)))时间,n是图中顶点的数量。这些时间界限假设图形以无边开始。

我只浏览了38页中的前两页,但不要(太)害怕 - 本文描述了动态图上的一堆新算法(也就是说,图表可以连接是最简单的,可以随着时间的推移进行有效修改。