使用等级组进行不相交的联合查找分析

时间:2011-10-05 13:15:49

标签: algorithm

  

不相交联合 - 查找压缩分析。

     

我们将按节点划分节点。然后我们将队伍划分为   等级组。在每个发现,我们将存入一些美国硬币   一般小猫和一些加拿大硬币到特定的顶点。至   计算存入的加拿大硬币总数,我们将计算   每个节点的存款。通过将每个节点的所有存款相加   等级r,我们将得到每个等级r的总存款。然后我们将加起来   g组中每个等级r的所有存款,从而获得   每个等级组的总存款g。最后,我们将所有内容加起来   每个等级组g的存款以获得加拿大人的总数   存放在森林里的硬币。将此添加到美国人的数量   小猫中的硬币给了我们答案。

     

对于每个顶点v,在从表示i的顶点到的顶点的路径上   root,我们在两个帐户之一存入一分钱:

     
      
  1. 如果v是根,或者v的父是root,或者是   v的父级与v的级别组不同,然后收取一个单位   根据这条规则。这将美国便士存入猫咪。

  2.   
  3. 否则将加拿大便士存入顶点。

  4.         

    为了对规则2下的所有加拿大存款进行一次很好的估计,我们   将按顶点而不是通过查找指令累加存款。   如果硬币根据规则2存入顶点v,则v将被移动   路径压缩并获得一个比旧的更高级别的新父级   家长。 (这是我们使用路径压缩的事实   因此,等级组g中的顶点v> 0。 0最多可以移动   F(g) - F(g - 1)次在其父级被推出排名组之前   g,因为那是等级组的大小。*发生这种情况后,全部   未来对v的收费将根据规则1进行。

我对上述文字的质询是

  1. 作者如何得出结论:“等级组g中的顶点v> 0最多可以移动F(g)-F(g-1)次”
  2. 谢谢!

1 个答案:

答案 0 :(得分:0)

在原文中,在您引用的部分之上,它表示“任何等级组中的等级数,g> 0,因此F(g) - F(g - 1)”

作者并未完全确定您查询的内容,并且节点确实可以移动任意次数。作者得出的结论是,一旦节点被路径压缩移动了F(g) - F(g - 1)次,它被移动到的父节点就不能与节点在同一个等级组中,因为每次移动节点时,它都会获得具有更高排名的父级。在此之后发生F(g) - F(g - 1)次,其父级不能在同一级别组中。

这一点的重要性在于,该节点的所有进一步路径压缩移动都在规则(1)下,并存入美国便士,而不是加拿大便士。