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

在并查集(不相交集)中附加操作 D e u n i o n Deunion ,它实现的功能是取消最后一次 U n i o n Union 的操作。

实现思想

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

发布了32 篇原创文章 · 获赞 18 · 访问量 3234

猜你喜欢

转载自blog.csdn.net/u011714517/article/details/104170113