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

  • 相关阅读:
    软工实践寒假作业(1/2)
    java判断是否为数字
    前端测试工具Cypress
    StringBuffer&StringBuilder
    IO流
    kafka简介
    Python学习笔记10--unittest参数化
    python学习笔记9--日志模块logging
    Python学习笔记9-多线程和多进程
    python学习笔记9-单元测试unittest
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9854558.html
Copyright © 2011-2022 走看看