在不相交的集合数据结构中,我们是否需要路径压缩和并集?

时间:2018-06-06 21:02:11

标签: data-structures disjoint-sets

我正在研究不相交的集合数据结构。我按等级研究了路径压缩和联合。最初所有元素在他们自己的集合中都是单一的,通过执行联合,我们可以组合不同的集合。现在,由于我们按等级执行并集,因此结果树的高度始终是最小的。在这一点上,我认为我们可能根本不需要路径压缩。我对吗?如果我错了,请举例说明。

1 个答案:

答案 0 :(得分:0)

  

现在,由于我们按等级执行联合,因此结果树的高度始终是最小值

如果你是两个高度为h的树的联盟,那么你会得到一棵高度为h + 1的树。所以你有两棵高度为1的树,你得到高度为2的树。然后,如果你得到另一棵高度为2的树,你可能最终将它们组合成一棵高度为3的树,依此类推。这可以给你一棵很高的树。

我读了很久以前,我没有CLRS方便,但我认为这些启发式本身都不足以保证最好的复杂性(阿克曼的东西)。我们都需要它们。但实际上也许可以只使用一个。