zoukankan      html  css  js  c++  java
  • Algs4-1.4.39 改进倍率测试的精度

    1.4.39 改进倍率测试的精度。修改DoublingRation,使它接受另一个命令行参数来指定对于每个N值调用timeTrial()方法的次数。用程序对每个N执行10、100和1000遍实验并评估结果的准确程度。
    答:
    图片
    public class E1d4d39
    {
      public static double timeTrial(int N)
      {
        int MAX=1000000;
        int[] a=new int[N];
        for (int i=0;i<N;i++)
          a[i]=StdRandom.uniform(-MAX,MAX);
        Stopwatch timer=new Stopwatch();
        int cnt=ThreeSum.count(a);
        return timer.elapsedTime();
      }
      //
      public static void main(String[] args)
      {
        //
        double prev=0.0;
        double time=0.0;
        for (int i=10;i<=1000;i=10*i)
        {
           prev=0.0;
           for(int j=1;j<=i;j++)
               prev=prev+timeTrial(125);
       //

        for (int N=250;N<=8000;N+=N)
        {
          time=0.0;
          for(int k=1;k<=i;k++)
          {
             time=time+timeTrial(N);
          }//for k
          StdOut.printf("runTime=%5d N=%6d timeSecond=%7.1f  ratio=%5.1f ",i,N,time/i,time/prev);
          prev=time;
        }//for N
      }//for i
    }//end main
    }//end class

  • 相关阅读:
    小白扫盲之-计算机为何需要内存
    Centos 安装Pycharm 并移动到桌面。
    Docker守护进程
    插入排序
    快速排序
    归并排序
    __metaclass__方法
    Python面向对象(2)类空间问题以及类之间的关系
    Python面向对象(1)_初步认识
    python语法基础(8)_包
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9854558.html
Copyright © 2011-2022 走看看