计时函数的运用
在算法题提交的时候,系统经常会给你一个TLE。
这提醒我们要优化算法,但我们如何优化算法这是一个问题。
我们可以运用计时函数,大概统计一下代码在最糟糕的情况下的运行时间。
可以大概得出优化方向(当然这里只是大概)
当超时时间过多时,大多是代码思路有问题,运行效率太低,应该将解题思路优化。
当超时时间不多时,应该是代码还能再优化(剪枝等)。
可见时间函数的掌握对我们解题也会有很大的帮助!
计时函数
clock_t:专门作为计时的变量(长整形数)。
clock( void ):返回从 “开启这个程序进程” 到 “程序中调用clock()函数” 时之间的CPU时钟计时单元(clock tick)数。
CLOCKS_PER_SEC:用来表示一秒钟会有多少个时钟计时单元。
说通俗一些, clock_t 变量是以CPU时钟来计时的值,而 CLOCKS_PER_SEC 将 clock_t 变量计好的CPU时钟值,换算成以秒为单位。
太深层次的内容我就不展开了,够用就行。
深层次内容链接
//计时函数模板
#include<stdio.h>
#include<time.h>
using namespace std;
int main(){
clock_t start, finish;
long long n, sum=0;
scanf("%lld", &n);
start = clock();
for(int i=0; i<n; i++){
sum++;
}
finish = clock();
printf("%lld\n", sum);
printf("%lf Second", (double)(finish-start)/CLOCKS_PER_SEC);
return 0;
}
希望将自己的学习经验分享给有需要的人。
我是小郑,一个不怎么会的小白