Prim算法和Kruskal算法浅析

本文深入浅出地介绍了Prim和Kruskal算法,用于构造图的最小生成树。通过实例展示了两个算法的步骤,并提供了伪代码解释。Prim算法适合稠密图,时间复杂度为O(n^2),而Kruskal算法适用于稀疏图,复杂度为O(e log e)。
摘要由CSDN通过智能技术生成

Prim算法和Kruskal算法浅析

问题描述

举一个实例,画出采用Prim算法构造最小生成树的过程
举一个实例,画出采用Kruskal算法构造最小生成树的过程

理论解析

Prim:
初始化:向空结果树T=(Vt,Et)中添加图G=(V,E)的任一顶点u0,使Vt={ u0 },Et为空集;
循环(直到Vt=V):从图G中选择满足{(u,v)| u∈Vt,v∈V-Vt}且具有最小权值的边(u,v),并置Vt=Vt∪{v},Et=Et∪{(u,v)}。

Kruskal:
初始化:Vt=V,Et=空集。及使每个顶点构成一棵独立的树,T是一个仅含|V|个顶点的森林;
循环(直到T为树):按图G的边的权值递增的顺序依次从E-Et中选择一条边,若这条边加入后不构成回路,则将其加入Et,否则舍弃。
图示如下:
在这里插入图片描述

算法设计

伪代码:
Void Prim(G,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值