boost-graph相关内容

提升最小生成树,如何先做深度?

我想使用 boost 图库中提供的 kruskal_minimum_spanning_tree 算法构建一个最小生成树. 输出 kruskal_minimum_spanning_tree(g, std::back_inserter(spanning_tree)); 来自BGL 示例 是一个简单的边列表.但是,我想用深度优先算法处理树,但不知道该怎么做. 有人可以给我一个提示 ..
发布时间:2021-12-24 15:37:11 C/C++开发

BGL 通过键索引顶点

我的要求是有一个图结构,其中每个顶点都由 boost::uuids::uuid 唯一标识.所有顶点都有一个颜色属性,相似类别的顶点将根据该属性进行分组.我不是在静态地图上工作,顶点和边将被动态创建和删除. typedef boost::adjacency_list>>>,细节::edge_property>图类型;图类型_图;boost::property_map::type _index_ma ..
发布时间:2021-12-24 15:26:52 C/C++开发

如何在boost中遍历图使用BFS

我在编译一个非常简单的图形的 BFS 时遇到问题.无论我做什么,我都会收到有关不匹配方法调用的各种编译器消息(我尝试过 boost::visitor 并扩展 boost::default_bfs_visitor 等) #include #include #include #include #include int main() {typedef boost::adjacency_list图_t; ..
发布时间:2021-12-24 15:25:36 C/C++开发

Dijkstra 图,每条边都有一个权重表

我有一个提升图,每个边都有多个权重(想象一天中每小时有一组权重).这些权重值中的每一个都存储在一个 propretyEdge 类中: class propretyEdge {std::map重量;//索引日期} 我用这些属性创建了一个图表,然后用正确的值填充它.现在的问题是我想在图上的一组特定权重上启动 Dijkstra 算法:例如一个函数: void Dijkstra(字符串日期,参数.. ..
发布时间:2021-12-24 15:22:40 C/C++开发

Boost.Graph 如何合并两个顶点/合同边

如何在 Boost.Graph 中合并两个顶点/合约边? 我需要将边从顶点 A 移动到顶点 B,然后删除顶点 A - 是否有任何内置函数?或者 adjacency_list 有什么特别之处? 如果没有这样的功能——那为什么?我认为是常见的图操作. 编辑:我知道可以手动完成,但有一些极端情况(如保留边缘属性),这就是为什么它是图书馆的好人选.> 我最想知道 Boost.Graph ..
发布时间:2021-12-24 14:57:13 C/C++开发

使用图形库/节点网络库还是自己编写?

我正在尝试决定是使用预先制作的图形/节点网络库还是自己推出. 我正在实现一些图搜索算法,这些算法可能需要对节点和/或边的类结构进行一些重要的自定义. 我不确定该怎么做的原因是我不确定对预制件的定制是否比最初自己制作更昂贵/更麻烦.我也很好奇,但不太关心性能的权衡. 有没有人有直接使用其中一个库的经验并根据成功或失败的故事提出建议?我想听到最坏的结果,这样无论我选择什么,我都知道自 ..
发布时间:2021-12-24 14:47:03 C/C++开发

在现有数据结构(边和顶点作为向量<对象*>)上使用 BGL 算法需要什么?

我有这样的自定义数据结构: vectormy_vertices;矢量我的边缘; 我的类 myEdge 有 source() 和 target() 方法,返回 myVertex*,所以它应该已经准备好了,对吧? 我需要做什么外部适应才能在我的容器中使用 BGL 图?我知道文档中的适配器示例,但如果能提供一些帮助,我们将不胜感激! 我感兴趣的是纯粹的 adjacen ..
发布时间:2021-12-24 14:23:26 C/C++开发

在 Boost::Graph 中修改顶点属性

我想弄清楚如何使用 boost::graph 来存储一些信息.但是,我想将信息与每个顶点相关联.盯着库的文档揭示了(a)写得很糟糕的文档,或者(b),我显然没有我想象的那么擅长 C++.选择两个. 我正在寻找一个简单的使用示例. 解决方案 捆绑的属性使用起来很简单: 使用命名空间提升;结构顶点信息{std::string 什么的;其他值;std::vectorsome_values ..
发布时间:2021-12-24 14:19:35 C/C++开发

如何为我的图形提供 vertex_index 属性

由于我的图使用 setS 作为顶点,我必须为我的图提供一个 vertex_index 属性映射,或者为 write_graphviz 提供一个显式的 vertex_id 参数,以便能够使用 write_graphviz.我的图定义为:typedef adjacency_list图;其中 NodeData 和 EdgeData 是结构.你能给我一个非常简单的例子来说明如何为我的图形提供一个 vert ..
发布时间:2021-12-21 23:23:41 C/C++开发

基于BGL的新类中自定义函数addEdge的返回值应该是多少?

我尝试实现基于 https://stackoverflow.com/a/950173/7558038 的图形类.添加边时,我返回添加边的边描述符,但如果边已存在,则不应添加它.那我回什么?不幸的是,null_edge() 不存在(与 null_vertex() 不同).它可能是一个 std::pair 和一个适当的边迭代器类型 e_it_t,但是我怎样才能得到一个迭代器到 ..
发布时间:2021-11-15 21:03:15 C/C++开发

Boost Graph 最大流算法找出最小 S/T 切割上的弧

我有一个应用程序,对于给定的固定数量的顶点,需要解决从给定的固定源 (S) 到给定的固定汇 (T) 的大量不同的最大流算法.每个最大流问题的不同之处在于有向弧本身随着它们的容量而变化.例如,请参见下文. 顶点的数量保持不变,但实际的弧及其容量因问题而异. 我有以下代码,它使用 boost 迭代解决上图中图 1 和图 2 的最大流问题,因此(对文字墙表示歉意,我试图使其尽可能小.代码下面 ..
发布时间:2021-10-26 18:38:45 其他开发

Boost Graph Library - 有向图的最小生成树

我有一个问题,需要我在 Boost Graph Library 中找到有向图的最小生成树. 我的第一次尝试是使用深度优先搜索和 DFS-visitor.我的计划是忽略除树边缘回调之外的所有边缘.这不起作用,我在下面给出了原因的示例. 我的问题是我是否可以让我的 dfs-visitor 在 BGL 中创建一个有向图的最小生成树. 有它的算法并且已经在这里讨论(在有向图上找到最小生成 ..
发布时间:2021-09-09 19:39:00 其他开发

在labeled_graph上进行breadth_first_search

假设以下设置,应如何使用labeled_graph调用breadth_first_search?-导致2个错误: 二进制'[':未找到采用'顶点'类型的右操作数(或没有可接受的转换)的运算符 '.id'左侧的错误2必须具有class/struct/union #include#include#in ..
发布时间:2021-04-19 20:11:51 C/C++开发