在程序设计竞赛时,常常需要对算法的复杂度进行估计,但是有时候,估计的并不准确,那么怎么办呢
当然就是测试一组实际足够复杂的数据看看程序大概要花多少时间嘛
这个时候就需要程序有个计时功能了
这里关键需要用到 time.h 里的计时函数 clock(),注意这个函数是返回从运行开始到结束的所需时间,所以待会你会看到我们需要2个值,有时候自己测试的时候,那个输入的时间我们是需要减去的==
贴代码了
#include <bits/stdc++.h>
using namespace std;
inline double TIME_BEGIN()
{
return (double)clock()/CLOCKS_PER_SEC;
}
inline void TIME_USED(double time)
{
printf("Time used = %.3f\n",(double)clock()/CLOCKS_PER_SEC-time);
}
int main()
{
long long a,b;
while(~scanf("%lld%lld",&a,&b)){
double time=TIME_BEGIN();//注意了
long long sum=0;
for (long long i=a;i<=b;i++){
sum=(sum+i)%10000007;
}
TIME_USED(time);//注意这儿
}
return 0;
}
本文介绍了在程序设计竞赛中如何使用C语言中的clock()函数来精确评估算法复杂度,通过引入计时功能,确保算法性能的准确估算,避免了依赖理论估计可能带来的误差。

被折叠的 条评论
为什么被折叠?



