Prim的MST:起始节点是否重要?

时间:2009-11-24 00:59:36

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

我直觉地认为,如果使用Prim的算法来查找图的最小生成树,则选择哪个根节点无​​关紧要 - 无论结果MST具有相同的权重。这是对的吗?

3 个答案:

答案 0 :(得分:5)

这是正确的。选择不同的起始节点可以为您提供不同的生成树,但它总是具有相同的权重:尽可能小。

答案 1 :(得分:1)

这是因为最小值的唯一性

<强>证明:

Suppose there are 2 "different" minimum weights W1 and W2

W1 is minimum 
W2 is minimum
W1 != W2

This leads to contradiction because 
if W1 != W2 then 
   W1 < W2  -> W1 is minima
   or 
   W1 > W2  -> W2 is minima
Hence if W1 must equal W2.

答案 2 :(得分:0)

无论起始节点/顶点如何,树的权重/成本都是相同的;但是,树的形状可能不同。当候选人的两个边缘具有相同的权重,最终成为当前最小值时,选择取决于实施。除非有一个真正的打破平局步骤(这是不太可能的;在具有许多等权重边缘的图形中,这可能需要达到O(n),因为没有实际增益),它很可能是“首先找到”。这意味着添加和访问节点/椎骨的顺序对于打破平局很重要,因此起始节点/顶点可以影响形状。

其次,它可能会影响性能,但这很难控制。随着堆操作的大小变得越来越昂贵,您需要尽可能少地添加边缘,尤其是在早期。人们可以将此作为优先考虑低度脊椎的理由。但是,这不太可能超出第一个节点/顶点。

TL; DR:总费用/重量:否。对于形状:是,如果有多个MST。