C/ c++动态图形库
C/C++ Library for dynamic graphs?
我正在寻找一个库来操作动态图。我有一个模拟,在对其结构进行一些更改后,我必须重复计算图的平均测地线长度(添加和删除边,在无向图上,所有边都具有相同的权重)。
我使用了一个快速的c++ wrap over我制作的igraph。igraph用于静态图形,所以每次更改图形时,我都要从头开始重新计算测地线距离。这是一个蒙特卡罗模拟,所以我必须做数百万次才能恢复一些统计数据。它开始变得很慢了。
所以我寻找带有动态图算法的库,可以在我删除或添加边后重新计算只是更新平均长度。我找到了一些关于这个主题的论文,但我真的不是专家(我只是一个物理学家,我只是偶然地在一个问题上使用图表……我对数据结构和算法几乎一无所知,所以我甚至不能阅读论文,更不用说实现算法了。
我发现这个库LEDA (http://www.algorithmic-solutions.com/leda/)似乎有一个动态图形扩展,但它似乎是不维护的(下载免费版本的链接被打破),它是专有的。
有其他选择吗?我正在寻找C/c++库。如果有必要,也可以去哈斯克尔,我已经绝望了。
因为无论如何您都在使用蒙特卡罗,所以我假设近似平均最短路径长度是可以接受的。在每一步中,您可以对少数节点进行采样,并报告从这些节点之一开始的路径的平均最短路径长度,这些路径具有相同的期望和合理的方差。
或者,您提到的关于动态最短路径的JACM论文的参考文献[3]是2004年的一项实验研究;也许作者会让您使用他们的代码。
我知道这么晚了,但是你看过LEMON吗?
你看过Boost Graph Library吗
我自己没有使用过它,但是作为Boost的一部分,你可以期望它的质量非常高,但它需要一定的c++专业知识。
- 提升图形库:资源受限的最短周期
- 提升图形库 - 深度优先 仅通过连接的顶点进行搜索
- 如何在提升图形库中获取属性的类型
- 提升图形库:以高性能的方式检查vertex_descriptor的有效性
- 提升图形库 - 具有正好 N 条边/顶点的图形
- 有没有办法通过 LEMON 图形库中的 Map 值获取节点?
- Tensorflow:与共享库动态链接
- 提升图形库 - 将矢量推送到边缘属性
- 是否可以同时使用 GUI 和 3D 图形库创建应用程序
- 创建像OpenGL这样的图形库
- 提升图形库:防止 DFS 访问未连接的节点
- 用于将三维模型导入OpenGL/C++项目的推荐文件格式和图形库
- 从库动态加载类,并在关闭库后使用它
- 无法链接 read_graphviz() 示例的提升图形库
- 提升图形库:获取edge_descriptor或通过 int 类型的索引访问边缘
- 导入库<>动态链接库兼容性
- 使用两个访问者提升图形库
- 提升图形库:顶点过滤图上的 BFS
- 增强图形库动态边权重
- C/ c++动态图形库