algorithm - 具有多个根顶点的图中的最小生成树

标签 algorithm graph graph-algorithm minimum-spanning-tree directed-graph

我想知道是否有一种算法可以在给定所有这些根顶点之间的一组根顶点的有向图中计算最小生成树(最佳分支),但不仅是一个根顶点和所有其他顶点在图表中。

给定一组根顶点[1,4,6]和如下图所示的图G:

enter image description here

...该算法应该在同一张图片上返回类似绿色子图的内容。

我想得到这样一个连接所有提供给算法的根顶点的MST。我倾向于认为潜在算法的结果是图 G 的子图,它包含所有根顶点和来自 G 的一些其他顶点。

注意事项:

  1. 我知道有向图没有 MST,但是有 Chu–Liu/Edmonds algorithm .
  2. 我猜想这种算法的结果(如果确实可行的话)将返回一个最佳分支,其中包括图形的一些顶点以及所有根顶点。

最佳答案

最小生成树应该跨越所有顶点。我认为您实际上可能正在处理 Steiner Tree问题,因为您只需要连接其中的一个子集。不幸的是,具有无向边的传统 Steiner 树问题已经是 NP 完全问题,因此您面前的道路很艰难。

关于algorithm - 具有多个根顶点的图中的最小生成树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7850321/

相关文章:

c++ - 使用函数模板将迭代器返回到图节点

java - 加速 Dijkstra 的多种解决方案会降低性能吗?

algorithm - 如何解决 kirkkmans 女学生的这种变化

algorithm - 如何在给定的两个二叉搜索树中找到最大的公共(public)子树?

c++ - 确定我的应用程序何时首次运行

javascript - D3 强制布局 : How do I set the size of every node?

algorithm - 如何创建具有常量行列总和的 1's and 0' 的对称矩阵

java - 使用什么数据结构或设计模式来映射定义的步骤序列

algorithm - 仅计算加权图中所有对之间路径的成本

c# - Enumerable.Range(...).Any(...) 优于基本循环 : Why?