通俗易懂的C++并查集实现
定义
并查集(Disjoint-Set)的本质是一个森林,即树的集合,但是不需要维护复杂的二叉树/N叉树结构。其使用场景一般用在集合的合并与查询,主要有3个基本操作:
find_root(x): 查找元素x的根结点,如果
join_union(x1, x2): 将x1与x2所在集合合并
is_union(x1,x2): 判断x1与x2是否在同一个集合里
举个例子,很好理解
初始的时候,每个元素都是一个单独的集合,此时find(x) == x, is_union(i,j) == false
现在我们对元
原创
2022-05-07 22:00:50 ·
628 阅读 ·
0 评论