【问题标题】:union find disjoint set weighted quick union with path compression algorithmunion 使用路径压缩算法找到不相交集加权快速联合
【发布时间】:2013-08-31 11:18:24
【问题描述】:

关于union find disjoint set , weighted quick union with path compression algorithm这个问题

Weighted Quick-Union with Path Compression algorithm

路径压缩会影响 iz[] 数组(包含以 i 为根的树的长度的数组)吗?

【问题讨论】:

    标签: java algorithm


    【解决方案1】:

    据我理解的代码,数组 iz[] 表示给定不相交集合中元素的数量。压缩路径时,您不会修改每组的该数字。因此,路径压缩不会影响 iz[] 数组。

    【讨论】:

      【解决方案2】:

      我将开始引用一些基本观点。首先,这是实现不相交集的最佳算法,并通过路径压缩启发式按秩称为联合。该算法需要 2 个数组,first(id[] there) 用作到 parent 的链接,第二个(iz[]) 给出该集合的节点数。

      我们有 2 个操作 - Union 和 connected。

      联合是由“等级”完成的,通过使较小的树成为较大的树的子树,从而降低进一步操作的摊销成本,这样长度往往是最小的。

      当调用connected方法时,在我们知道那棵树的根之后,我们使用路径压缩技术,它基本上将那个特定节点指向那棵树的根,所以以后我们不必遍历整个再次分支。由于 iz[] 只包含该集合的节点数,因此它对路径压缩没有任何影响。

      【讨论】:

        猜你喜欢
        • 2022-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多