我是算法的新手,希望有人可以解释为什么在使用quick-find的一次调用中可以更改的最大id []数组条目数是n-1?最好用Layman的术语。
答案 0 :(得分:0)
嗯,你知道至少有一个值不会改变吗?它是你添加到等价类的值 - 因为边缘关系是反身的!还有n-1个人。
如果这不明显,请重新阅读算法说明。
答案 1 :(得分:0)
另一种查看方式:联合查找数据结构维护一个数组,其中每个索引在forest(树的不相交联合)中拥有该节点的“父代”的ID,如果有的话,否则,它拥有自己的ID。当且仅当算法添加新边或更改现有边时,才会将新id写入数组。在 n 节点上的林中最多可包含的边数为 n -1,这在林是包含每个节点的树的情况下会发生。>