生成树包括最大重量

时间:2013-12-24 15:37:24

标签: algorithm minimum-spanning-tree

设G是加权无向图,e是G中最大权重的边。假设G中包含边的最小权重生成树e。以下语句中的哪一个始终为TRUE?

a。存在具有最大重量的所有边缘的g切口

b.G中存在一个具有最大权重的所有边缘的循环

c。边缘e不能包含在循环中

d.G中的所有边缘具有相同的权重

前一年的考试是否正在进行。我很难理解,任何人都可以向我解释。

2 个答案:

答案 0 :(得分:2)

底部三个是假的,下面的简单图表是所有三个的反例:

     1
  a --- b
  |    /
2 |   /
  |  / 2
  | /
  c

任何最小权重生成树都包含边<a,c>或边<b,c>。在任何一种情况下,都很容易检查(b),(c)和(d)都失败。

编辑:(a)是真的。这是一个证据:

e成为M的边缘,其G的权重最大,让M成为G的最小权重生成树包含边e。如果边e切割图G,那么(a)显然是正确的。因此,请G'通过删除边Ge获取G',并假设M'已连接。

通过删除边M,从e获取M'。现在我们知道M由两个组件组成,因为G'是一棵树,从树中删除一条边将其断开为两个组件。此外,M'的每个顶点都属于G',并且G'已连接,因此我们可以通过添加G'的单个边来获取M'的生成树到G。我声称每个这样的边缘在e'中都具有最大权重。

要了解原因,假设G'中的边M'连接了G的两个组成部分,但在e中具有次最大权重。然后,我们可以从M(我们的原始生成树)中移除边e',将此边M添加到G以获取M的新生成树},但它的总重量将小于M,与G'的最小权重相矛盾。

因此,请考虑连接M'的两个组件的e的所有边的集合。这些边与G一起形成G的边切集,并且{{1}}中的所有边都必须具有最大权重。

答案 1 :(得分:0)

让我们从简单的那些开始 - d 是错误的 - 接受任何MST,并将其中一个权重减少到某些边缘的某个唯一新值(不是e ) - 它仍然是MST,但并非所有边缘都具有相同的重量

c 是错误的 - 如果e比任何其他边缘更重,那么它是真的,因为如果它在一个循环中,你可能已经删除了{{1}来自MST(如果需要连接 - 请选择任何其他边缘并获得更轻的MST)。但是,如果替代边缘都具有相同的权重,则e可以处于循环中。

e 是假的 - 说b是最重的,但不是在一个循环中,只是将图形连接到某个远程顶点(否则不连接)

e - 我不确定你的意思是切割是最大重量还是最大重量的所有边缘都存在(这不是一回事),请澄清< / p>