博客
关于我
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/

你可能感兴趣的文章
pycharm如何设置(错误、警告类的标准提醒)
查看>>
Python3运行的时候错误:ModuleNotFoundError: No module named 'PIL'
查看>>
PHP是世界上最好的语言?Phython第一个不服
查看>>
Bugku CTF-web6
查看>>
Bugku CTF-web10 头等舱
查看>>
UML-配置图
查看>>
JS高级面向对象(二)-构造函数和原型
查看>>
python入门到秃顶(10):异常
查看>>
ES6_变量生明
查看>>
考研复试英语问答
查看>>
百度背景换肤案例
查看>>
修改ng-zorro中table对齐及宽度等细节
查看>>
输出对象的值——踩坑
查看>>
angular2项目里使用排他思想
查看>>
折线图上放面积并隐藏XY轴的线
查看>>
zabbix之自动发现
查看>>
Experience of tecent interview
查看>>
failed to push some refs to git
查看>>
在苹果Mac上如何更改AirDrop名称?
查看>>
1110 Complete Binary Tree (25 point(s))
查看>>