在可能的情况下,在加权无向图中,我需要找到包含给定边“ e”的最小生成树。我该怎么做? Kruskal从“ e”开始?
答案 0 :(得分:2)
我不使用 Kruskal 算法,因为如果边缘e是周期的一部分,并且e在该周期中具有最大权重,则该算法将不包括'e'。我相信,通过修改它可以起作用。但是使用Prim的算法,所需的修改很少。
如果我们记得Prim算法是这样的,那么Prim的算法最适合此问题:
步骤1 :从包含随机选取的顶点的集合 S 开始。
第2步:从具有一个顶点集 S 和另一个顶点集 V - S 的所有边开始strong>,选择重量最轻的那个。假设(x,y), x 属于 S 和 y 属于 V < / strong>- S 。
步骤3 :添加 y 来设置 S 。
步骤4 :重复步骤2和3,直到 S 包含所有顶点。
需要修改:
对于您的问题,只需将步骤1更改为:
第1步:从包含顶点 u 和 v 的边线'的集合 S 开始e' =( u , v )。
答案 1 :(得分:0)
对于惰性解决方案,请将该边的成本设为零,然后在其上运行任何MST算法。