最小生成树

4. 最小生成树

4.1 生成树

(1)定义:所有顶点均由边连接在一起,但不存在回路的图叫该图的生成树
(2)深度优先生成树与广度优先生成树

(3)

    一个图可以有许多棵不同的生成树
    所有生成树具有以下共同特点:
           生成树的顶点个数与图的顶点个数相同
           生成树是图的极小连通子图


4.2 最小生成树

生成树的每条边上的权值之和最小。

实例:在N个城市之间修路,总路线的总和最小问题。

4.2.1 Prim方法

设N=(V,{E})是连通网,TE是N上最小生成树中边的集合:
(1)初始令U={u0},(u0属于V), TE=NULL
(2)在所有u属于U,v属于V-U的边(u,v)属于E中,找一条代价最小的边(u0,v0)
(3)将(u0,v0)并入集合TE,同时v0并入U
(4)重复上述操作直至U=V为止,则T=(V,{TE})为N的最小生成树

4.2.2 Kruskal算法

设连通网N=(V,{E}),令最小生成树
(1)初始状态为只有n个顶点而无边的非连通图T=(V,{NULL}),每个顶点自成一个连通分量
(2)在E中选取代价最小的边,若该边依附的顶点落在T中不同的连通分量上,则将此边加入到T中;否则,舍去此边,选取下一条代价最小的边
(3)依此类推,直至T中所有顶点都在同一连通分量上为止


原文地址:http://blog.csdn.net/matrix_laboratory/article/details/11879127

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页