【算法】并查集
发布日期:2022-02-10 08:11:01 浏览次数:17 分类:技术文章

本文共 358 字,大约阅读时间需要 1 分钟。

int findFa(int x){
if(fa[x] == x) return x; return findFa(fa[x]);}void uni(int a,int b){
fa[findFa(a)] = findFa(b);}

在这里插入图片描述

路径压缩:只要我们在查询(findFa函数中)的过程中,把沿途的每个节点的父节点都设为根节点即可:

:在这里插入图片描述:

int findFa(int x){
if(fa[x] == x) return x; fa[x] = findFa(fa[x]); return fa[x];}

简写:

int findFa(int x){
return x == fa[x] ? x : (fa[x] = findFa(fa[x]));}

转载地址:https://blog.csdn.net/qq_43567222/article/details/113845834 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:PAT甲级-1143 Lowest Common Ancestor (30 分)
下一篇:PAT甲级-1108 Finding Average (20 分)

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年03月30日 04时07分18秒