MST中包含的所有边的集合

时间:2019-02-06 08:56:01

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

是否有一种方法可以计算O(nlogn)的任何MST中包含的所有边的集合?

其中n定义为| V(G)|

我尝试修改Prim,Kruskal并使用Circle属性,但找不到任何解决方案。

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,则希望获得一组至少出现在一个MST中的所有边。

很明显,算法的运行时间必须在结果集中的边沿数量上下限。

让我们看一下图Kn(有关更多信息,请访问https://en.wikipedia.org/wiki/Complete_graph
图中有O(n^2)条边,并将所有权重设置为1。
现在,我们所需要做的就是证明该图中的每个边都出现在至少一个MST中,因此找到该集合的算法必须以O(n^2)为下界。
证明很简单,以e = (vi,vj)为边,我们可以轻松构造包含e的MST。让我们分别命名为vi, vj-v1, v2。为了简单起见,以及所有其他顶点v3, ..., vn(v1, v2), (v2, v3), ..., (vn-2, vn-1)是MST。
因此,在这种情况下,所有边缘都在所需的集合中,并且有O(n^2)个边缘,因此该算法无法执行O(nlogn)

的最坏情况