我在C中使用igraph库。
我需要使用以下调用计算图表的最小生成树:
igraph_minimum_spanning_tree_prim( &input_graph, &mst_tree, &w);
其中:
如igraph库中所要求的,边和权重之间的关联由它们的索引给出,也就是说, input_graph 中的第一个边具有权重通过 w 向量的第一个元素,第二个边的权重由 w 的第二个元素给出矢量,等等。
由于 mst_tree 的边缘是 input_graph 边缘的子集(因此, input_graph 和 mst_tree 中的边是不同的),不可能通过关联获得 mst_tree 的边缘权重他们的指数。
有一些igraph功能可以在 mst_tree 中获得每条边的权重,只知道 mst_tree , input_graph 和w?
吉列尔莫。
答案 0 :(得分:1)
在igraph 0.5.4中,没有这样的功能,对不起:(在igraph 0.6中,最小生成树API会有所改变,所以会有另外一个具有以下签名的函数:
int igraph_minimum_spanning_tree(const igraph_t* graph, igraph_vector_t* res, const igraph_vector_t* weights);
其中res
将包含构成生成树的边的索引。 igraph 0.6尚未发布,但它非常稳定,所以您可能想尝试升级到igraph 0.6(如果您不介意在这里和那里进行一些API更改)。
免责声明:我是igraph的作者之一。