首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >prim_minimum_spanning_tree() Boost函数

prim_minimum_spanning_tree() Boost函数
EN

Stack Overflow用户
提问于 2011-10-15 03:52:05
回答 1查看 977关注 0票数 1

我试图使用带有boost库的prim_minimum_spanning_tree函数的Prim算法,使用包含所有图形点的文件。我成功地用boost库的kruskal_minimum_spanning_tree函数创建了我想要的图形。

但是对于prim_minimum_spanning_tree,我只得到每个点的直接父级,所以我的图不是完整的。

我使用了boost文档中的示例:

用于prim:http://www.boost.org/doc/libs/1_47_0/libs/graph/example/prim-example.cpp

和kruskal one http://www.boost.org/doc/libs/1_47_0/libs/graph/example/kruskal-example.cpp

一个具体的例子:我有一个要点文件:

代码语言:javascript
复制
10
0 0.655171
0.304819 0.674978
0.106754 0.516587
0.489669 0.602466
0.369945 0.256661
0.374187 0.825587
0.172704 0.2978
0.643544 0.789666
0.987823 0.800592
0.464248 0.538987

用krukal函数我得到:

代码语言:javascript
复制
3 <--> 9
1 <--> 5
0 <--> 2
1 <--> 3
6 <--> 4
6 <--> 2
3 <--> 7
2 <--> 1
8 <--> 7

通过prim函数,我得到:

代码语言:javascript
复制
1 <--> 5
2 <--> 0
3 <--> 9
4 <--> 6
5 <--> 1
6 <--> 4
7 <--> 3
8 <--> 7
9 <--> 3

我有那些图表的绘图,但我不能张贴图像或几个链接。但正如你所看到的,我错过了3个链接。

我怎样才能得到和kruskal相同的结果呢?

谢谢,

PS :我使用了这个例子的代码,作为一个基础,尝试了大量的修改,但没有成功,无法在web或文档中找到任何有用的信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-16 01:57:21

我已经找到了我自己问题的答案,也许对别人有用。

我把这些点连了两次,这对于kruskal的算法是有效的,但对于prim算法却不适用,例如,在我的边缘:

代码语言:javascript
复制
0 <--> 1
1 <--> 0

在这里,我应该只为prim的算法链接点一次。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7775626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档