是否存在不包含最小/最大加权边的最小生成树?

时间:2010-04-11 12:31:06

标签: algorithm minimum-spanning-tree

如果我们有一个(任意)连接的无向图G,其边缘具有不同的权重,

  1. G的每个MST都包含最小加权边?
  2. 是否有G的MST不包含最大加权边?
  3. 另外,如果有人可以提供一些在处理此类MST问题时必须记住的关键事项,我会更感谢。

    这是一个家庭作业问题。感谢。

4 个答案:

答案 0 :(得分:7)

  

G的MST是否包含最大加权边?

可能有,但没有必要。考虑如下的4顶点图:

[A]--{2}--[B]
 |         |
 |         |
{1}       {3}
 |         |
 |         |
[C]-{50}--[D]

最小生成树由边集{CA,AB,BD}组成。沿着{CD},最大边缘权重为50,但它不是MST的一部分。但是如果G已经等于它自己的MST,那么显然它包含它自己的最大边缘。

  

G的每个MST都包含最小加权边?

是。 MST具有剪切属性 cut 只是图形顶点的一个分区,分为两个不相交的集合。对于任何可以进行的切割,如果切割中边缘的权重小于切割中其他边缘的权重,则此边缘属于图形中的所有MST。因为您保证边缘权重是不同的,所以您还保证边缘小于所有其他边缘。

  

另外,如果有人可以提供一些在处理此类MST问题时必须记住的关键事项,我会更感谢。

您最好的选择是使用MST的属性进行推理,并尝试构建您认为可以证明您的情况的特定反例。我给出了上面每行推理的一个例子。由于切割和循环属性,您始终可以确切地确定MST中的哪些边缘,因此您可以系统地测试每个边缘以确定它是否在MST中。

答案 1 :(得分:4)

  

G的每个MST是否包含最小加权边?

是。假设我们有MST,它不包含最小权重边。现在,将此边添加到MST将导致cycle。现在,cycle中总会有另一条边可以被移除以移除周期并仍保持图形(MST)连接。

  

G的MST是否包含最大加权边?

取决于图表。如果graph本身是树,那么我们需要在n-1中包含其所有MST边,因此无法排除最大权重边。此外,如果最大权重边缘为cut-edge,因此其排除将永远不会导致连接,则无法排除最大权重边缘。但如果最大权重边缘是cycle的一部分,则可以从MST中排除。

答案 2 :(得分:0)

对于你的第一个问题,答案是否定的,kruskal's algorithm证明了这一点。它总是会选择最低成本优势。

对于第二个问题,答案是肯定的,找到示例图表是微不足道的:

1 - 2 (cost 10)
2 - 3 (cost 100)
3 - 1 (cost 1000)

第三条边将永远不会被选中,因为它引入了一个循环。所以基本上,如果具有最大成本的边缘在插入MST时会创建一个循环,则不会插入。

答案 3 :(得分:0)

我看到你也正在通过2009年考试为CSC263学习? (同样在这里!)

另一种看到最小值总是在MST中的方法是简单地看一下这个最小边缘(称之为e):

          e 
v1 ---------------- v2

(假设这与其他verticies有联系)。现在,为了不被包括在最终的MST中,我们在一个点上,不失一般性,在MST中有v1而不是v2。但是,添加v2而不添加e的唯一方法是添加v1不会将e添加到队列中(因为根据定义,e将位于队列的顶部,因为它具有最低优先级)但是这样与MST构造定理相矛盾。

基本上,不可能有一个最小权重的边缘没有到达队列,这意味着任何构造的MST都会拥有它。