生成树

参考视频

生成树

首先定义一个无向连同带权图 

G=(V,E,W)  w(e)∈W是边e的权 (其中V表示顶点集合,E表示边集,W表示权)

G的一颗生成树T是包含G的所有顶点的树,树中各边的权之和W(T)称为树的权,具有最小权的生成树称为G的最小生成树

实例

G=(V,E,W) ,V={1,2,3,4,5,6}

E={{1,2},{1,3},{1,4},{2,3},{2,5},{3,4},{3,5},{3,6},{4,6},{5,6}}  如下图所示

生成树_第1张图片

最小生成树(权值最小)下图所示

生成树_第2张图片

生成树的性质

设G是n阶的连通图

  • T是G的生成树当且仅当T无圈且有n-1条边(无圈:没有回路)如下图

生成树_第3张图片

  • 如果T是G的生成树,e∈T,那么T∪{e}含一个圈c  如下图

生成树_第4张图片

  • 去掉c的任意一条边,就得到G的另外一棵树T‘ 如下图

生成树_第5张图片

算法步骤

生成树性质的应用

  • 算法步骤:选择边

       约束条件:不形成回路

       截至条件:边数达到n-1

  • 改进生成树的方法

       在T中加一条非树边e,形成回路c,在c中去掉一条非树边ei,形成一颗新的生成树T‘      W(T’)-W(T) = W(e)-W(e’)

       若W(e)<=W(e’)则W(T’)<=W(T)

 

你可能感兴趣的:(算法笔记)