我想使用boost图库中提供的kruskal_minimum_spanning_tree算法构建最小生成树 .
的输出
kruskal_minimum_spanning_tree(g, std::back_inserter(spanning_tree));
来自the BGL example是一个简单的边列表 . 但是,我想用 depth first algorithm 处理树,不知道该怎么做 .
有人能给我一个暗示吗?
我想使用boost图库中提供的kruskal_minimum_spanning_tree算法构建最小生成树 .
的输出
kruskal_minimum_spanning_tree(g, std::back_inserter(spanning_tree));
来自the BGL example是一个简单的边列表 . 但是,我想用 depth first algorithm 处理树,不知道该怎么做 .
有人能给我一个暗示吗?
1 回答
Update :sehe在此提供更新且更有效的解决方案:https://stackoverflow.com/a/49429372/85371
这是Kruskal问题的解决方案和编写自定义DFS访问者的好例子 . 它应该按原样运行 . 示例输出在下面的代码中显示为自包含 . 正如我在评论中提到的,MST算法的输出是一组边 . 这将向您展示如何使用该数据构建新图 .
示例取自http://en.wikipedia.org/wiki/Kruskals_algorithm .
任何改进的建议将不胜感激 . 谢谢 .