博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Minimum Spanning Tree.prim/kruskal(并查集)
阅读量:6814 次
发布时间:2019-06-26

本文共 2309 字,大约阅读时间需要 7 分钟。

开始了最小生成树,以简单应用为例hoj1323,1232(求连通分支数,直接并查集即可)

prim(n*n) 一般用于稠密图,而Kruskal(m*log(m))用于系稀疏图

#include
//prim n^2#include
#include
using namespace std;const int inf=0x3f3f3f3f;int a[102][102];int dis[102];int mark[102];int main(){ int n; while(cin>>n&&n) { int m=n*(n-1)/2; int x,y; memset(a,0x3f,sizeof(a)); memset(dis,0x3f,sizeof(dis)); memset(mark,0,sizeof(mark)); while(m--) { scanf("%d%d",&x,&y); int temp; scanf("%d",&temp); if(a[x][y]>temp) a[x][y]=temp; a[y][x]=a[x][y]; } int ans=0; int cur=1; mark[cur]=1; for(int i=1;i
a[cur][j]) //更新 { dis[j]=a[cur][j]; } if(minedge>dis[j]) //得最小边 { minedge=dis[j]; vertex=j; } } ans+=minedge; cur=vertex; //新加入的点cur mark[cur]=1; //已经加入 } printf("%d\n",ans); } return 0;}
#include
//kruskal ,+并查集维护,m*logm#include
#include
#include
using namespace std;const int inf=0x3f3f3f3f;int fa[102]; int father(int x){return (x==fa[x]?x:father(fa[x]));}struct edge { int x,y,w;};bool my(const edge &a,const edge &b) //先按权重排序{ return a.w
>n&&n) { int m=n*(n-1)/2; vector
v(m); for(int i=1;i<=n;i++) //初始化并查集 fa[i]=i; for(int i=0;i
#include
//求无向图连通分支数,直接并查集。#include
#include
#include
#include
using namespace std;int fa[1002];int father(int x){return (x==fa[x]?x:father(fa[x]));}struct edge{ int x,y;};int main(){ int n,m; while(~scanf("%d",&n)&&n) { scanf("%d",&m); vector
v(m); for(int i=1;i<=n;i++) { fa[i]=i; //初始化 } for(int i=0;i
se; for(int i=1;i<=n;i++) //只需看有几个father(i)(等价类),一个连通分量只对应一个。 { se.insert(father(i)); } count=se.size()-1; printf("%d\n",count); } return 0;}

转载于:https://www.cnblogs.com/yezekun/p/3925753.html

你可能感兴趣的文章
接班人不是克隆出来的:华为再显接班难
查看>>
把自1970年1月1日以来的秒数转化成年月日
查看>>
NetApp公司利用IBM沃森打造一款名为Elio的卡通机器人
查看>>
微信红包限额提升方法
查看>>
log file sync 等侍值高的一般通用解决办法
查看>>
《maven实战》学习笔记7——maven项目版本管理和灵活构建
查看>>
嵌入式 linux 查看内存
查看>>
mysql 协议的server状态标识
查看>>
CSDN去广告小脚本
查看>>
辟谣!Java 9使用指南10大误解,你中了几条?
查看>>
KSQL,用于Apache Kafka的流数据SQL引擎
查看>>
Zeppelin对Spark进行交互式数据查询和分析
查看>>
漂亮的后台界面PSD下载
查看>>
REST_FRAMEWORK加深记忆-第二次练习官方文档2
查看>>
NGINX配置小随笔
查看>>
大数据能帮企业抓住网络入侵者吗?
查看>>
BoCloud博云完成近亿元融资,加速PaaS与云运维落地
查看>>
IEEE:全球超一半大公司正在研究区块链,但是你需要区块链吗?
查看>>
与线性代数相关的数学词汇
查看>>
托管统一通信 向“云计算”迁移
查看>>