C/C++:记录函数的运行时间,粗略估算时间复杂度

/*测试函数运行时间*/ 
#include<stdio.h>
#include<time.h> //利用clock()函数进行计时,他是记录从mian函数开始的时钟打点数 
#define MAXK 1e7 //被测试函数被调用的次数 

clock_t start, stop; //clock_t是clock()函数返回的变量类型 
double duration; //记录被测试函数运行的时间,以秒为单位

int myFunction(int n);

int main(){
	start = clock();
	for (int i=0; i<MAXK; i++)
		myFunction(1000);
	stop = clock();
	duration =((double)(stop - start))/CLK_TCK/MAXK; //CLK_TCK:每秒机器时钟所走的时钟打点 
	printf("ticks = %f\n", (double)(stop - start));
	printf("duration = %6.2e\n", duration);
	return 0;
} 

/*计算多项式的值1+2+3+++n*/
int myFunction(int n){
	int sum = 0;
	for(int i=0; i<n; i++){
		sum += i;
	}
	return sum;
} 
 

C/C++:记录函数的运行时间,粗略估算时间复杂度

补充: 

   1.记录函数运行时间时,若函数运行时间过短,可将函数多次重复运行
   2.一个for循环的时间复杂度等于循环次数乘以循环体代码的复杂度
   3.if-else  结构的复杂度取决于if的条件判断复杂度和两个分枝部分的复杂度,总体复杂度取三者中最大

参考:浙江大学国家精品课程《数据结构》https://www.icourse163.org/learn/ZJU-93001?tid=1003013004#/learn/announce