Algs4-1.5.17随机连接

1.5.17随机连接。设计UF的一个用例 ErdosRenyi,从命令行接受一个整数N,在0到N-1之间产生随机整数对,调用connected()判断它们是否相连,如果不是则调用union()方法(和我们的开发用例一样)。不断循环直到所有触点均相互连通并打印出生成的连接总数。将你的程序打包成一个接受参数N并返回连接总数的静态方法count(),添加一个main()方法从命令行接受N,调用count()并打印它的返回值。
答:
图片
public class ErdosRenyi
{
    public static int count(int N)
    {
        int Times=0;
        UF uf=new UF(N);
         while (uf.count()>1)
           {
               int p=StdRandom.uniform(N);
               int q=StdRandom.uniform(N);
               Times++;
               uf.union(p,q);
            }//end while
        return Times;
    }
   
    public static void main(String[] args)
    {
        int N=Integer.parseInt(args[0]);
        StdOut.println("Times="+ErdosRenyi.count(N));
    }
}

posted @ 2018-10-26 10:16  修电脑的龙生  阅读(266)  评论(0编辑  收藏  举报