我现在才意识到这两款并查集路径压缩有区别。。。
  • 板块灌水区
  • 楼主OrinLoong
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/10/18 09:01
  • 上次更新2024/10/18 14:16:07
查看原帖
我现在才意识到这两款并查集路径压缩有区别。。。
539345
OrinLoong楼主2024/10/18 09:01
int find1(int u){while(fa[u]!=u)u=fa[u]=fa[fa[u]];return u;}
int find2(int u){return (fa[u]==u)?u:fa[u]=find2(fa[u]);}

上:非递归款,把最开始find的结点提上去
下:递归款,把路径上所有结点全部提上去

2024/10/18 09:01
加载中...