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

并查集

时间:2016-04-30 23:48:59      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

正确的并查集不是简单的合并,是合并后每次查询时把所有节点直接连接到根节点。

 

就算你进行了一百万次合并产生了一个一百万深度的链,只需要一次查询就会让所有节点的深度回到1,o1复杂度

常数非常小,只需要一行代码就能实现。并查集算法在设计之初,就是为了实现不受深度影响的o1复杂度的合并和查询,没有缩路到根节点的算法不能称为并查集。

 

这样做的好处是,合并的复杂度几乎可以忽略不计,如果进行过一百万次合并,则查询时最多一次性将一百万个节点连到根节点,

平摊下来比每次合并时单独处理要快非常多。

 

会让深度不断积累的代码只能说这人一开始就不懂什么是并查集啊

 

并查集

标签:

原文地址:http://www.cnblogs.com/java2016/p/5449714.html

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