并查集学习
来源:互联网 发布:ge矩阵 编辑:程序博客网 时间:2024/06/05 19:16
0.5 初始化
void set(){ for(i=1;i<=n;i++) fa[i]=i,size[i]=1;}
1.路径压缩
int find(int x){ if(fa[x]==x) retrurn x; else return fa[x]=find(x);}
2.启发式合并
void union(int x,int y){ x=find(x),y=find(y); if(x==y)return; if(size[x]<size[y]) fa[x]=y,size[y]+=size[x]; else fa[y]=x,size[x]+=size[y];}
3.时空复杂度
空间O(n)
时间接近O(1)
阅读全文
0 0
- 并查集学习
- 并查集学习
- 并查集学习
- 并查集学习
- 并查集学习
- 并查集学习
- 并查集学习
- 并查集学习
- 并查集 学习
- 并查集学习
- 并查集学习
- 并查集学习
- 并查集学习
- 并查集学习
- 并查集学习笔记
- 并查集的学习
- 并查集学习笔记
- 并查集学习讲解
- (2017.07.31-2017.08.04)周总结-琐事总结
- 操作系统
- 留言库表设计
- Mac下打开bash_profile
- RxJava2.0的使用
- 并查集学习
- 关于erron错误的类型以及程序表示
- [Zabbix] VMware 监控
- 标准Web系统的架构分层
- CentOS 安装 XGboost
- C++中的空类,默认产生哪些类成员函数?
- Mybatis中#{}和${}传参的区别及#和$的区别小结
- MyBatis持久层解释小结(个人)
- redis加入到Windows 服务