在N个元素上快速查找联盟

时间:2014-09-16 05:26:26

标签: algorithm data-structures

我是算法的新手,希望有人可以解释为什么在使用quick-find的一次调用中可以更改的最大id []数组条目数是n-1?最好用Layman的术语。

2 个答案:

答案 0 :(得分:0)

嗯,你知道至少有一个值不会改变吗?它是你添加到等价类的值 - 因为边缘关系是反身的!还有n-1个人。

如果这不明显,请重新阅读算法说明。

答案 1 :(得分:0)

另一种查看方式:联合查找数据结构维护一个数组,其中每个索引在forest(树的不相交联合)中拥有该节点的“父代”的ID,如果有的话,否则,它拥有自己的ID。当且仅当算法添加新边或更改现有边时,才会将新id写入数组。在 n 节点上的林中最多可包含的边数为 n -1,这在林是包含每个节点的树的情况下会发生。