最小生成树 | Prim & Kruskal算法

1 最小生成树概念

生成树:连通图的极小连通子图
简言之:包含图的所有顶点(n),同时边数(n - 1)最少
举例:广度优先生成树和深度优先生成-->将图进行BFS和DFS时根据遍历结点顺序构成的树
最小生成树MST(Minimum-Spanning-Tree):生成树中各边权值之和最小的那棵
注意:
1. MST可能有多个,但权值之和必等
2. 若连通图本身就是树,则最小生成树是其本身
3. MST依然满足生成树的特性

2 Prim算法

随便找一个顶点,然后接着找这个结点相邻的代价最小的顶点,
再把这两个结点当做一个整体,
继续寻找到这个整体相邻的代价最小的顶点,以此类推,
直到所有顶点纳入

时间复杂度:O(V**2),适合边稠密图(E大的)
注:V:顶点数,E边数

3 Kruskal算法

选择权值最小的边,同上,结合为整体然后再找下一条边,
但是原本连通的边就不要再找了

时间复杂度:O(ElogE),适合边稀疏图(E小的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值