在并查集(不相交集)中附加操作\(Deunion\),它实现的功能是取消最后一次\(Union\)的操作。
初始化一个空栈,将每一次的\(Union\)操作的两个集合的根和其值\(Push\)入栈;若执行\(Deunion\)操作时,只需要对栈进行\(Pop\)操作即可。在没有路径压缩时,这个策略是有效的;若并查集(不相交集)实现了路径压缩,将使得\(Deunion\)操作很难进行,因为路径压缩有很大的概率将本来属于一个根下的元素连接到另一个根,若此时执行\(Union\)操作时,很难将其恢复。
原文地址:https://www.cnblogs.com/geekfx/p/12259566.html