如何证明用 Kruskal's 算法生成的树是最小生成树

学习 时间:2026-04-03 09:33:30 阅读:8601
如何证明用 Kruskal's 算法生成的树是最小生成树

最佳回答

冷傲的方盒

雪白的树叶

2026-04-03 09:33:30

为了避免最小生成树不唯一的问题,可以不妨假设这个图所有的边长都不相等(注意最小生成树的总长度是原图边长的连续函数,所以可以这样加强条件)然后用反证法,假定Kruskal算法中的第k步首次出现错误,算法选了E1,但实际上必须选另一条边E2才能得到最小生成树T0E1连接了两个连通分支,这两个连通分支在最终的T0里是连通的,所以把T0和E1放在一起之后形成的图有一个环,在这个环里一定有k步或之后新选的边(如果没有的话仅凭前k-1条边和E1不会构成环),依照E1的定义,这个环里存在比E1长的边,用E1换掉这条边之后得到的树T1比T0更短,矛盾

最新回答共有2条回答

  • 怡然的自行车
    回复
    2026-04-03 09:33:30

    为了避免最小生成树不唯一的问题,可以不妨假设这个图所有的边长都不相等(注意最小生成树的总长度是原图边长的连续函数,所以可以这样加强条件)然后用反证法,假定Kruskal算法中的第k步首次出现错误,算法选了E1,但实际上必须选另一条边E2才能得到最小生成树T0E1连接了两个连通分支,这两个连通分支在最终的T0里是连通的,所以把T0和E1放在一起之后形成的图有一个环,在这个环里一定有k步或之后新选的边(如果没有的话仅凭前k-1条边和E1不会构成环),依照E1的定义,这个环里存在比E1长的边,用E1换掉这条边之后得到的树T1比T0更短,矛盾

上一篇 关于端午节的传说作文300字左又

下一篇 根据一个话题 ,写一段英语对话.