【发布时间】: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++)
【问题讨论】:
-
四年后,你实现成功了吗?