并查集(不相交集)的Deunion操作

在并查集(不相交集)中附加操作DeunionDeunion,它实现的功能是取消最后一次UnionUnion的操作。

实现思想

初始化一个空栈,将每一次的UnionUnion操作的两个集合的根和其值PushPush入栈;若执行DeunionDeunion操作时,只需要对栈进行PopPop操作即可。在没有路径压缩时,这个策略是有效的;若并查集(不相交集)实现了路径压缩,将使得DeunionDeunion操作很难进行,因为路径压缩有很大的概率将本来属于一个根下的元素连接到另一个根,若此时执行UnionUnion操作时,很难将其恢复。

不一定每天 code well 但要每天 live well
原文地址:https://www.cnblogs.com/geekfx/p/12423058.html