C++ 并查集的算法,要怎么理解?

图片描述

图片描述

图片描述

函数unite怎么理解,我看不懂,哪个大佬解释一下啊

阅读 2k
1 个回答

equivclass就相当于节点的最远的祖先,可以这么理解吧。比如a的父节点是b,b的父节点是c,c的父节点是自己
那么在这道题中,c.next就是b,b.next就是a,a.next就是0。但是,a,b,c的最远祖先都是c。
那个for循环中,把classA为首的链表上所有节点的最远祖先都设置成了classB,自然也就是合并到后者了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题