最小生成树
来源:互联网 发布:安徽铜陵网络台 编辑:程序博客网 时间:2024/06/07 06:07
一,基本的定义:
在一给定的无向图G=(V,E)中,(u,v)代表连接顶点u与顶点v的边,而w(u,v)代表边的权重,若存在T为E的子集且为无循环图,使得的w(T)最小,则T为G的最小生成树(最小权重树)。
最小生成树可以用Krukal算法或Prime算法求出。
二,算法的描述:
prime算法简述
1)输入:一个加权连通图,其中顶点为v,边集合为E;
2)初始化:Vnew={x},其中x为集合V中的任意一节点,Enew={}为空;
3)重复下列操作,直到Vnew=V;
a,再集合E中选取权值最小的边<u,v>,其中u为集合Vnew中的元素,而不是在Vnew集合当中,并且v∈V(如果存在有多条边满足当前描述条件即具有相同权值的边,则可任意选择其中之一);
b,将v加入Vnew中,将<u,v>边加入集合Enew中;
4)输出:使用Vnew和Enew来描述所得到的最小生成树。
Krukal算法简述:
假设WN=(V,{E})是一个含有n个顶点的连通网,则按照克鲁斯卡尔算法构造最小生成树的过程为:先构造一个只含n个顶点,而边集为空的子图,若将该子图中各个顶点看成是个树上的根节点,则他是一个含有n棵树的一个森林。之后,从网的变集E中选取一条权值最小的边,若该条边的两个顶点分属不同的树,则将其加入子图,即将这两个顶点分别所在的两棵树合成一棵树,反之,若该条边的两个顶点已经落在一棵树上,则不可取,而应该取下一条权值最小的边再试,直到森林中中有一棵树,也即子图中含有n-1条边为止。
0 0
- 最小比例 最小生成树
- 最小生成树&&次最小生成树
- 最小生成生成树计数
- 树+最小生成树
- 最小生成树
- 最小生成树 MST
- 最小生成树Kruskal
- kruskal 最小生成树
- 最小生成树
- 最小生成树
- 最小生成树
- 最小生成树
- 最小生成树 MST
- 最小生成树问题
- 最小生成树
- 最小生成树
- 最小生成树
- 最小生成树
- UVA210
- Java笔试面试题整理第四波
- 2.2 格式化输出
- MySQL语句
- 数学符号arg(arg min/max)含义
- 最小生成树
- Java中的IO流系统详解
- 冒泡排序、选择排序、快速排序
- ajax返回值明明对了确对应不上,ajax返回值前面多了空行
- java创建对象时初始化
- uva 10229Modular Fibonacci
- UML用例图
- Python3语法——Python3函数参数的各种形式
- 5-17 求阶乘序列前N项和 (15分)