码迷,mamicode.com
首页 > 其他好文 > 详细

并查集Union-find的优化问题

时间:2021-04-22 15:12:28      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:问题   压缩   while   平衡   turn   路径   方案   class   优化问题   

并查集可以有两个优化方案,

1,平衡性优化:对每个结点标记一个重量值,在进行union操作时,将重量小的添加到重量大的节点上。

2,路径压缩:在进行find操作时,顺便对路径进行压缩

private int find(int x) {
    while (parent[x] != x) {
        // 进行路径压缩
        parent[x] = parent[parent[x]];
        x = parent[x];
    }
    return x;
}

 

并查集Union-find的优化问题

标签:问题   压缩   while   平衡   turn   路径   方案   class   优化问题   

原文地址:https://www.cnblogs.com/xujih/p/14682377.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!