計時函數(基本知識)

計時函數的運用

在算法題提交的時候,系統經常會給你一個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;
} 

希望將自己的學習經驗分享給有需要的人。
我是小鄭,一個不怎麼會的小白

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章