浅谈并查集(路径压缩算法)
- 并查集的存储:用法fa[ ]数组存储并查集。
- 并查集的初始化:另fa[i]=i.
- 并查集的get()操作:
int get(x)
{
if(x==fa[x])
{
return x; //返回根节点
}
else
{
return fa[x]=get(fa[x]); //让父亲节点为根节点
}
} - 并查集的merge操作:
void merge(int x,int y)
{
fa[get(x)]=get(y);
}
int get(x)
{
if(x==fa[x])
{
return x; //返回根节点
}
else
{
return fa[x]=get(fa[x]); //让父亲节点为根节点
}
}
void merge(int x,int y)
{
fa[get(x)]=get(y);
}