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));
    }
}

转载于:https://www.cnblogs.com/longjin2018/p/9854807.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值