Find:p and q are connected iff they have the same id.
Union: To merge components containing p and q, change all entries whose id equals id[p] to id[q]
After union(6,1)
Java Implementation
QuickFindUF.java
publicclassQuickFindUF{privateint[] id;// set id of each object to itself (N array accesses)publicQuickFindUF(int N) { id =newint[N];for (int i =0; i < N; i++) id[i] = i; }// check whether p and q are in the same component (2 array accesses)publicbooleanconnected(int p,int q) { return id[p] == id[q]; }// change all entries with id[p] to id[q] (at most 2N + 2 array accesses)publicvoidunion(int p,int q) {int pid = id[p];int qid = id[q];for (int i =0; i <id.length; i++)if (id[i] == pid) id[i] = qid; }}