图论-最小生成树

Posted dancer16

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图论-最小生成树相关的知识,希望对你有一定的参考价值。

今天听了CLRS的第二作者讲的课程,关于最小生成树的算法。

其实就是先模拟一下小样例(不是单纯模拟,而是发现其中的规律,要思考)

然后发现最优子结构-如果(u,v)是一条唯一连接两点的边,那么将原图拆分为两块(一块包含u,一块包含v),两图分别最优解+dist[u,v]就是原图的最优解了。

然后发现这样做会有很多很多的重叠子问题:把每次的(u,v)换一换顺序就一堆重叠子问题。于是就有动态规划的思路了……

别急!

这里还有一个性质:如果(u,v)在当前图中边权最小,则(u,v)必在此图的最小生成树中。

证明:

我们把此图(V,E)的点集合分为两个点集集合(A,B)且u∈A,v∈B,且A+B=V,A&B=?;则在(V,E)的最小生成树中,必有一条边连接(跨越)A,B两个集合。

然而(u,v)必定比这条边优。所以(u,v)必在此图的最小生成树中。

贪心证明完毕!

以上是关于图论-最小生成树的主要内容,如果未能解决你的问题,请参考以下文章

怎么求最小生成树 (离散数学 图论)

浅谈图论——最小生成树

经典树与图论(最小生成树、哈夫曼树、最短路径问题---Dijkstra算法)

有没有图论高手,请教一个最小生成树的问题

图论讲解——最小生成树

图论算法零基础最小生成树学习与总结