我一直在研究快速聯合算法。下面的代碼是實現的例子。 有人可以向我解釋根方法裏面發生了什麼嗎?Quick Union Java實現
public class quickUnion {
private int[] id;
public void QuickUnionUF(int N){
id = new int [N];
for(int i = 0; i < N; i++){
id[i] = i;
}
}
private int root(int i){
while (i != id[i]){
i = id[i];
}
return i;
}
public boolean connected(int p, int q){
return root(p) == root(q);
}
public void union(int p, int q){
int i = root(p);
int j = root(q);
id[i] = j;
}
}
它繼續向上直到它找到根:這就是當id [i] ==我,其中id [我]是我的父母。請參閱幻燈片18在https://www.cs.princeton.edu/~rs/AlgsDS07/01UnionFind.pdf –
[你的步調試器告訴你什麼?](http://stackoverflow.com/questions/25385173/what-是一個調試器和如何可以幫助我診斷問題) –
我正在使用Eclipse IDE,我還沒有添加主要方法,我只是通過代碼。無論如何,答案解決了我的問題。 – Ifham