gpt4 book ai didi

c++ - 使用 Prim 算法计算最小生成树 : how to make it simple?

转载 作者:行者123 更新时间:2023-11-27 22:33:09 25 4
gpt4 key购买 nike

这里的问题主要是实现。我想使用 Prim 算法计算 MST。

代码如下:

vector<edge_desc> mst;
auto root = boost::vertex(h, Gs[i]);
boost::prim_minimum_spanning_tree(Gs[i], root);

其中h是一个整数,Gs是权重图的 vector ,定义如下:

typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS,
boost::no_property, boost::property<boost::edge_weight_t, int>>
weighted_graph;

我有这个错误:

no instance of overloaded function "boost::prim_minimum_spanning_tree" matches the argument list -- argument types are: (weighted_graph, std::size_t, std::back_insert_iterator<std::vector<edge_desc, std::allocator<edge_desc>>>)

根据文档:https://www.boost.org/doc/libs/1_55_0/libs/graph/doc/prim_minimum_spanning_tree.html

我需要提供所有这些命名参数吗?

C++ 如何知道哪个参数是哪个?

我的目标是从 Gs[i] 上的 root 开始构造一个 MST,并将边缘描述符存储在 mst 中。

我该如何继续?

最佳答案

“我需要提供所有这些命名参数吗?” - 是的。

“C++ 如何知道哪个参数是哪个?” - 按提供它们的顺序。

关于c++ - 使用 Prim 算法计算最小生成树 : how to make it simple?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58465598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com