您的位置:首页 > 其它

图——生成树和最小生成树 (概念解析)

2015-11-27 08:53 267 查看
/*
*Copyright (c) 2015 , 烟台大学计算机学院
*All right resvered .
*文件名称: 生成树和最小生成树
*作    者: 郑兆涵
*图——生成树和最小生成树
*/


1.生成树的概念

一个连同图的生成树是该连通图的一个极小连同子图,它含有图中全部顶点,但只有构成一棵树的(n-1)条边.如果在一棵生成树9上添加一条边,必定构成一个环,因为这条边使得它依附的那两个顶点之间有了第二条路径.一棵有n个顶点的生成树(连通无回路图)有且仅有(n-1)条边,但是,有(n-1)条边的图不一定都是生成树.一个图有n个顶点,如果它由小于(n-1)条边,则是非连通图;如果它有多于(n-1)条边,则一定有回路.

对于一个带权(假定每条边上的权值均为大于零的实数)连通无向图G中的不同生成树,各树的边上的权值之和可能不同,边上的权值之和最小的树称为该图的最小生成树.

按照生成树的定义,n个顶点的连通图的生成树有n个顶点和(n-1)条边.因此构造最小生成树的准则有三条:

(1) 必须只使用该图中的边来构造最小生成树;

(2) 必须使用且仅使用(n-1)条边来连接图中的n个顶点;

(3) 不能使用产生回路的边.

2.无向图的连通分量和生成树

在对无向图进行遍历时,若是连通图,仅需调用遍历过程(DFS深度优先遍历或BFS广度优先遍历)一次,从图中任一顶点出发,便可以遍历图中的各个顶点;若是非连同图,则需要多次调用遍历过程,每次调用得到的顶点集连同的相关的边就构成图的一个连同分量.

设G=(V,E)为连通图,则从中任一顶点出发遍历图时,必定将E(G)分成两个集合T和B,其中T是遍历过程中走过的边的集合,B是剩余的边的集合:T∩B=∅,T∪B=E(G).显然,G'=(V,T)是G的极小连通子图,即G'是G的一棵生成树.

由深度优先遍历得到的生成树称为深度优先生成树;由广度优先遍历得到的生成树称为广度优先生成树.这样的生成树是由遍历时访问过的n个顶点和遍历时经过的(n-1)条边组成的.

 对于非连通图,每个连通分量中的顶点集和遍历是走过的边一起构成一棵生成树,各个连通分量的生成树组成非连通图的生成森林.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: