第1章答案

1.2-2算法测试:

c#代码如下:

 1 static void Main(string[] args)
 2 {
 3     Console.WriteLine("假设两种算法每执行一步为1m:");
 4     for (int n = 1; n <= 100;n++)
 5     {
 6         double insertAlgo = 8 * n * n;
 7         double mergerAlog = 64 * n * System.Math.Log10(n);
 8         Console.WriteLine("{0}  插入算法时间:{1}-------归并算法时间:{2}", n,insertAlgo, mergerAlog);
 9         if (insertAlgo<mergerAlog)
10         {
11             Console.WriteLine("===插入算法优于归并算法:n={0}",n);
12         }
13      }
14      Console.ReadKey();
15 }

运行结果如下:

1.2-3算法测试:

 1 static void Main(string[] args)
 2 {
 3    Console.WriteLine("某种算法规模的比较:");
 4    for (int n = 1;n<1000;n++ )
 5    {
 6       double algoTime1 = 100 * n * n;
 7       double algoTime2 = System.Math.Pow(2, n);
 8       if (algoTime1<algoTime2)
 9       {
10          Console.WriteLine("最小n为:{0}", n);
11          Console.ReadKey();
12          return;       
13        }
14     }     
15 }

运行结果如下:

posted @ 2013-05-18 11:14  夜曲984  阅读(128)  评论(0编辑  收藏  举报