今天敲代码了吗?   

并查集

并查集分为两种操作:合并和查找

查找:查找一个元素的祖先(元素所在树的根节点)

采用路径压缩提高效率

1 int getFather(int u){
2   if(father[u]!=u){
3       father[u]=getFather(father[u]);          
4   }
5   return fatuer[u];        
6 }

合并:将两个不相交的集合合并

1 void Union(int x,int y){
2   getFather(father[x])=getFather(y);
3 }

 

posted on 2021-01-13 11:15  今天学算法了吗?  阅读(53)  评论(0编辑  收藏  举报

导航