其实这个证明与前面那个证明很像
假设最终生成的生成树不包含这m−k条边中连接生成森林的两个不连通节点的最小的边,那么我们从这些最小的边中任选一条边加入到树中会形成一个环,而且这个环(除了加入的这条最小边)一定存在一条边不是最开始的k条边中的某一条(因为如果这个环除了加入的最小边,剩余的边都是k条边中的某一条的话,那么这条加入的最小的边就是连接生成森林的两个连通节点的边了,根本不在我们的考虑范围之内),把这条边删掉换成这个最小的边,根据“向树加入一条边形成一个环,删除环上任意一条边后的图仍然是树”可得结论
但是注意,如果这m−k条边中连接生成森林的两个不连通节点的最小的边有多条,那么不是每一条都被选择的,但其中至少会选择一条,而且任意一条都可以生成MST
然后用数学归纳法可以证明Kruscal的正确性
从以上证明过程也可看出,我们生成MST时(比如做Kruscal时),任选这m−k条边中连接生成森林的两个不连通节点的最小的边,最终一定都能生成一个MST
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构