基础 并查集
来源:互联网 发布:软件测试很难吗 编辑:程序博客网 时间:2024/05/21 06:38
并查集是一种树型的数据结构,是若干个不相交集合,能够实现较快的合并和元素判断的操作。常常在使用中以森林来表示。在这里主要介绍的是普通并查集,很多情况下使用的并查集是需要扩展的,根据使用情况的不同,有很多差别,因自身知识不足,不多介绍,以后添加。
基础并查集伪代码:
#include <iostream>using namespace std;#define Size 1000int a[Size]; //初始化并查集int init(){for(int i=0;i<Size;i++)a[i]=i;} //无路径压缩的查找根节点 int find(int x){while(a[x]!=x)x=a[x];return x;}//合并两个元素所在的集合int merage(int x,int y){x=find(x);y=find(y);if(x!=y)a[x]=y;}int main(){...return 0;}
压缩路径:
int find(int x){int q,p;p=x;while(a[x]!=x)//找根节点 x=a[x];while(p!=x)//压缩路径,修改路径中所有节点 {q=a[p];a[p]=x;p=q;}return x;}merage中还有一个启发模式,就是把深度小的集合合并到深度大的集合;
int merage(int b,int c){if(height(b)==height(c)){height(b)=height(c)+1;a[c]=b;}else if(height(b)<height(c)) a[b]=c;else a[c]=b;}
0 0
- 并查集基础
- 并查集基础
- 并查集基础
- 并查集基础
- 并查集基础
- 并查集基础
- 基础 并查集
- 并查集基础
- 并查集基础
- 并查集基础
- 并查集基础
- 查并集基础
- 并查集基础
- 并查集基础
- 并查集 基础 AC
- poj2524_并查集基础
- 并查集入门基础
- 并查集基础~poj1611
- matlab 绘制 3d 心
- 欧拉函数
- 驱动开发(4)内核中的内存分配和错误码
- Javascript静态变量与实例变量
- javase中的集合
- 基础 并查集
- 图形效果、图形合成、人脸识别
- -c项目
- 原子操作
- 蜻蜓FM如何诈骗投资人和广告主源代码剖析
- 【DirectX 9.0c入门教程】之一 开发环境搭建:安装vs2008 sp1和DirectX SDK
- Linux_NetworkManager_RHEL7
- HDU 5514 Frogs (2015沈阳F题&&容斥+剪枝)
- 第9周项目2 对称矩阵压缩存储的实现与应用