最后复习之最小生成树

本文介绍了两种求最小生成树的方法——Prim算法和Kruskal算法。Prim算法适合稠密图,通过不断寻找离已知最小生成树最近的点来扩展;Kruskal算法则对所有边排序,利用并查集逐步构建最小生成树,适用于稀疏图。
摘要由CSDN通过智能技术生成

这里写图片描述
就我所知的求最小生成树的方法有两种,prim算法和kruskal算法。各有优缺点,下面我来详细的介绍一下这两种算法。
一、prim算法:
基本过程:刚开始把1放入目前找到的最小生成树,然后不断地寻找离已知的最小生成树最近的点,将其放入最小生成树并对这棵树进行更新。
根据这个找点的过程可知prim适合稠密图。
证明:首先每个点和最小生成树的连边都是这个点到其他每个点的连边里边权尽可能小的边,因为既要考虑边权又要考虑构成一棵树。既然要考虑构成树,就可以不断地找和树相连的点,既然要考虑边权,那么每次找和树相邻的边权最小的点就行了,那么上面的基本过程真是再好不过了是吧。。。(强行证明)
代码都是以模板题codevs1078最小生成树为例。

#include<cstdio>
#include<iostream>
using namespace std;
int g[110][110],dis[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值