【并查集&路径压缩 模板】
来源:互联网 发布:windows无权访问 编辑:程序博客网 时间:2024/06/05 21:11
查找根节点:
void init(int n) //初始化,将所有的点的父节点都初始化成其本身{for (int i = 0; i <= n; i++)par[i] = i;}//压缩和不压缩的都要知道,后边有时会处理不压缩的; int find(int x) //找一个点的根结点 {1.if ( x!= par[x])return /* par[x]=*/find(par[x]);return x;2.return x == par[x] ? x : /*par[x]=*/find(par[x]);3.while (x != par[x])x = par[x];//这三种都是朴素的查找,适合数据量不大的情况 }
路径压缩:
int q=x; while (par[q] != x){int j = par[q];par[q] = x;q = j;}这一种采取路径压缩的方法查找元素 ,防止溢栈 return par[x];//别忘了return
合并:
void unite(int a, int b) //合并 {int fa = find(a);int fb = find(b);if (fa != fb) //如果两个点的根节点不一样的话,就将其中一个接到另一个上面,使其成为一个集合par[fa] = fb;}
阅读全文
0 0
- 并查集模板[路径压缩]
- 【模板】并查集 压缩路径
- 【并查集&路径压缩 模板】
- 【模板】并查集 两种路径压缩写法
- 并查集 & 路径压缩
- 【并查集+压缩路径】
- 并查集路径压缩
- 并查集路径压缩
- 并查集路径压缩
- 并查集路径压缩
- 并查集压缩路径
- 并查集 压缩路径
- 并查集路径压缩
- 并查集 ---压缩路径
- 并查集 路径压缩
- 并查集压缩路径
- 并查集压缩路径
- 并查集-路径压缩
- Python爬虫基础实战——用爬虫来自动翻译英文文档
- ARM NEON编译优化
- 装逼文本编辑器Atom + activate-power-mode插件
- std::mutex
- 自考—《信息系统开发与管理》
- 【并查集&路径压缩 模板】
- MyBatis 3.3.1 批量插入多行回写自增id
- redis配置数据库数量
- python opencv minAreaRect 生成最小外接矩形
- BITS_TO_LONGS宏的作用
- form表单的讲解
- CentOS服务器下对mysql的优化
- mui.back()返回刷新功能
- websocket和http请求趣谈