c++ - Boost Graph Library:多个权重图
问题描述
我正在尝试使用 BGL 设计一种算法。我得到了不同的权重图,我需要针对每个权重图计算图形的 MST。
顺便说一句,我想知道是否可以使用不同的权重图并仅更改图表中的参考。
我尝试了以下代码,但似乎如果我修改一个地图的条目,我会修改我声明的所有地图的相同条目。这是代码:
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS,
boost::no_property, boost::property<boost::edge_weight_t, long> > weighted_graph;
typedef boost::property_map<weighted_graph, boost::edge_weight_t>::type weight_map;
typedef boost::graph_traits<weighted_graph>::edge_descriptor edge_desc;
typedef boost::graph_traits<weighted_graph>::vertex_descriptor vertex_desc;
weighted_graph G(50);
weight_map weights[5];
...
// build the graph
...
weights[0][edge1] = 121;
...
weights[3][edge1] = 34;
...
// weights[0][edge1] == 34
这怎么可能?
解决方案
推荐阅读
- sql-server - 将 VBA-Excel ListObjects 用作与 MsSQL 的完整接口以实现 Win/Mac 兼容性
- hadoop - java.lang.UnsatisfiedLinkError 当我启动 hbase
- python - 如何在 Python 中最小化循环执行时间?
- cypress - 赛普拉斯拦截(数据模拟)功能测试的不良做法?
- java - 无效的元素名称:- display-name 预期以下之一:- distributable、context-param、filter、servlet 等
- java - xjc 生成的类无法解析它们之间的符号
- c++ - 无法使用数据集的 FieldByName 方法访问字段值
- java - 如何在主类中获取嵌套数组值 - JSON to POJO
- prometheus - Prometheus - 将平均使用的 cpu 查询与具有特定标签的节点相结合
- docker - 如何在docker中后台运行tomcat?