动态图算法的实现,该算法在删除边后保留图的连接分量的数量
Implementation for dynamic graph algorithm that keeps the number of connected components of a graph after deleting edges
我有一个图表,我想获取连接的组件的数量。这可以通过 BFS 或 DFS 遍历轻松完成。但之后,我将反复删除图形的某些边,并再次询问结果图形中连接组件的数量。
一个简化的使用示例是:
graph G = some_graph();
while (some_condition) {
cout << connected_components(G);
edge e = some_edge_of(G);
G.delete(e);
}
我已经找到了几种处理这个主题的动态图算法(使用数据结构,与再次遍历图相比,可以更快地重新计算连接组件的数量)。
但是你能为我节省一些时间来实现它们,并为我提供一个指向一些免费实现的链接吗?(最好是 C 或 C++)
Boost Graph Library 有你想要的东西,虽然从我的角度来看,学习曲线非常陡峭......
有一本关于它的书。
相关文章:
- 为什么这个运算符<重载函数对 STL 算法不可见?
- 基于ELO的团队匹配算法
- C++选择排序算法中的逻辑错误
- 当套接字连接断开时检测C/C++Unix
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- C++A*算法并不总是在路径中具有目标节点
- 排序算法c++
- 构建可组合有向图(扫描仪生成器的汤普森构造算法)
- 算法问题:查找从堆栈中弹出的所有序列
- 下面是排序算法O(n)吗
- KMP算法和LPS表构造的运行时间
- 到连接组件算法的问题(递归)
- 连接的组件标记算法C
- 用于在黑白图像上查找未连接区域(岛屿)的算法
- 在连接 4 C++算法中检查获胜者
- 具有共享边界的最小连接区域的图论算法
- 连接组件算法输出
- C++-如何增加堆栈大小以允许Kosaraju算法进行更多递归以计算强连接组件
- 动态图算法的实现,该算法在删除边后保留图的连接分量的数量
- 连接两个向量的分治算法c++