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