algorithmbook icon indicating copy to clipboard operation
algorithmbook copied to clipboard

Ch6 路径压缩

Open SamZhangQingChuan opened this issue 4 years ago • 1 comments

query(element) {
        var p = this.parents;
        while (element !== p[element]) {//如果一样就到顶,否则继续往上找
          p[element] = p[p[element]];
          element = p[element];
        }
        return element;
}

这段完全是错的,路径压缩会把 element 的所有祖先的 parent 都设成根 我的 c++写法如下,你可以把他改成 js 版

int root(int x) { return data[x] == x ? x : data[x] = root(data[x]); }

SamZhangQingChuan avatar Mar 02 '20 14:03 SamZhangQingChuan

image

RubyLouvre avatar Mar 08 '20 09:03 RubyLouvre