博客
关于我
ACwing 858. Prim算法求最小生成树
阅读量:665 次
发布时间:2019-03-16

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

数据结构部分展示了一个用于并查集算法的结构体定义。C++ struct edge { int a, b, c }; 其中,struct edge 定义了一个包含三个整数字段的边结构体。这个定义用于存储并查集算法中边的信息。

C++ bool cmp(edge a, edge b) { return a.c < b.c; }

这个函数用于比较两个边的属性。在并查集算法中,这个比较函数用于对边按属性进行排序。

C++ int p[n];

这是一个用于并查集路径压缩和按秩合并的数组,用于存储每个节点的父节点。

C++ int n, m;

这里的 nm 分别表示并查集的节点数和边的数量。

C++ int find(int x) { if (x == p[x]) return x; return p[x] = find(p[x]); }

这是并查集的find函数,用于查找节点的根节点。当节点不在同一集合中时,递归调用自身并对路径进行压缩。

C++ void merge(int x, int y) { p[find(x)] = find(y); }

这是并查集的merge函数,用于合并两个节点所在的集合。合并操作会根据秩大小决定哪个树的根会成为另一个树的父节点。

C++ int main() { ... }

这是并查集算法的主函数,用于读取输入数据,初始化并查集数据结构,并执行路径压缩和按秩合并操作。

转载地址:http://rxpqz.baihongyu.com/

你可能感兴趣的文章
Horizon Daas租户管理平台扩展分配时报:内部错误
查看>>
嵌入式系统试题库(CSU)
查看>>
【自考】之信息资源管理(一)
查看>>
setup facatory9.0打包详细教程(含静默安装和卸载)
查看>>
java.security.InvalidKeyException: Illegal key size
查看>>
Linux kernel pwn --- CSAW2015 StringIPC
查看>>
IDEA 找不到 Persistence窗口解决办法
查看>>
C++ Primer Plus读书笔记:循环读取(错误处理)
查看>>
Form窗体属性
查看>>
解决Eclipse加载图片或网页出现404错误
查看>>
vue 错误收集
查看>>
Java选择排序算法实现
查看>>
00010.02最基础客户信息管理软件(意义类的小项目,练习基础,不涉及数据库)
查看>>
00013.05 字符串比较
查看>>
IEDA全局搜索快捷键 Ctrl+shift+F无效的原因、 eclipse:Ctrl + h 进行全局搜索
查看>>
Effective Java 读书笔记
查看>>
SpringBoot使用@Email报错误
查看>>
Rabbitmq的内存磁盘监控
查看>>
访问servlet时弹出文件下载框解决方法
查看>>
IDEA-@Slf4j和log标签&@Data(Lombok)无效
查看>>