日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Algs4-1.5.1使用quick-find算法处理序列

發布時間:2025/3/8 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Algs4-1.5.1使用quick-find算法处理序列 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.5.1使用quick-find算法處理序列9-0 3-4 5-8 7-2 2-1 5-7 0-3 4-2。對于輸入的每一對整數,給出id[]數組的內容和訪問數組的次數。
答:


public class UF
{
??? private int[] id;
??? private int count;
??? public UF(int N)
??? {
??????? count=N;
??????? id=new int[N];
??????? for (int i=0;i<N;i++)
??????? {
??????????? id[i]=i;
????????? StdOut.printf("%3d",i);
??????? }
??????? StdOut.println();
??? }
???
???? public int count()
???? {return count;}
????
????? boolean connected(int p,int q)
????? {return find(p)==find(q);}
????? //quick-find
?????? public int find(int p)
?????? {return id[p];}
??????
?????? public? void union(int p,int q)
?????? {
????????? int pID=find(p);
????????? int qID=find(q);
????????? if (pID==qID) return;
????????? for (int i=0;i<id.length;i++)
????????????? if(id[i]==pID) id[i]=qID;
????????? count--;
????????? for (int i=0;i<id.length;i++)
????????????? StdOut.printf("%3d",id[i]);
????????? StdOut.println();
?????? }
?????
??? /*
????? public int find(int p)
????? {
????????? while(p!=id[p]) p=id[p];
????????? return p;
????? }
?????
????? public void union(int p,int q)
????? {
????????? int pRoot=find(p);
????????? int qRoot=find(q);
????????? if(pRoot==qRoot) return;
????????? id[pRoot]=qRoot;
????????? count--;
????? }
?????? */
?????? public static void main(String[] qrgs)
?????? {
?????????? int N=StdIn.readInt();
?????????? UF uf=new UF(N);
?????????? while (!StdIn.isEmpty())
?????????? {
?????????????? int p=StdIn.readInt();
?????????????? int q=StdIn.readInt();
?????????????? if(uf.connected(p,q)) continue;
?????????????? StdOut.println(p+ " " +q);
?????????????? uf.union(p,q);
??????????????
??????????? }//end while
??????? }//end main
}//end class

文件:tinyUF.txt
10
9
0
3
4
5
8
7
2
2
1
5
7
0
3
4
2

轉載于:https://www.cnblogs.com/longjin2018/p/9854648.html

總結

以上是生活随笔為你收集整理的Algs4-1.5.1使用quick-find算法处理序列的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。