第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 }
运行结果如下: