码迷,mamicode.com
首页 > 其他好文 > 详细

Algs4-1.4.39 改进倍率测试的精度

时间:2018-10-26 10:36:19      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:技术分享   orm   com   nbsp   bsp   cond   width   data   图片   

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\n",i,N,time/i,time/prev);
      prev=time;
    }//for N
  }//for i
}//end main
}//end class

Algs4-1.4.39 改进倍率测试的精度

标签:技术分享   orm   com   nbsp   bsp   cond   width   data   图片   

原文地址:https://www.cnblogs.com/longjin2018/p/9854558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!