【问题标题】:Implementation for dynamic graph algorithm that keeps the number of connected components of a graph after deleting edges动态图算法的实现,在删除边后保持图的连通分量的数量
【发布时间】:2013-01-09 10:05:35
【问题描述】:

我有一个图表,我想获得连接组件的数量。这可以通过 BFS 或 DFS 遍历轻松完成。但之后,我将迭代地删除图中的某些边,并再次询问结果图中连接组件的数量。

一个简化的使用示例是:

graph G = some_graph();
while (some_condition) {
    cout << connected_components(G);
    edge e = some_edge_of(G);
    G.delete(e);
}

我已经找到了几个处理这个主题的动态图算法(使用允许更快地重新计算连接组件数量的数据结构,而不是对图进行另一次遍历)。

但是您能帮我节省一些实施它们的时间,并为我提供一些免费实施的链接吗? (最好用 C 或 C++)

【问题讨论】:

  • 四年后,你实现成功了吗?

标签: c++ algorithm graph


【解决方案1】:

Boost Graph Library 有你要找的, 虽然从我的角度来看,学习曲线非常陡峭......

关于它有a book

【讨论】:

  • 谢谢,但我在那里找不到。在图形被adding edges 更新的情况下有动态算法,但不用于删除边。在增量更新的情况下,MF-SET 可以解决问题。
猜你喜欢
  • 1970-01-01
  • 2013-02-03
  • 1970-01-01
  • 2013-03-30
  • 1970-01-01
  • 1970-01-01
  • 2011-01-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多