算法学习笔记之一段测试多重循环运行时间的小程序

 1 #include <iostream>
 2 #include <Windows.h>
 3 #include <time.h>
 4 
 5 int main()
 6 {
 7     int n=100;
 8     int sum=0;
 9     clock_t start,end;
10     double timeUsed;
11     start=clock();
12     for (int i=0;i<n;i++)
13     {
14         for (int j=0;j<n;j++)
15         {
16             for (int k=0;k<n;k++)
17             {
18                 for (int l=0;l<n;l++)
19                 {
20                     sum=i;
21                 }
22             }
23         }
24     }
25     end=clock();
26     timeUsed=(double)(end-start)/CLOCKS_PER_SEC;
27     printf("用时%f秒\n",timeUsed);
28     //输出结果是0.184秒
29     //可以想象,如果是1000的4重循环,那就是0.184/100 000 000*1 000 000 000 000=92/3分钟,需要半个小时
30     //n=1000的4重循环,每次仅仅是执行一个赋值语句的动作,就要耗时半个小时,可见这种O(n4)时间的算法效率有多差
31 }

 

posted @ 2013-08-23 17:46  dandanbo  阅读(271)  评论(0编辑  收藏  举报