C语言基础学习(8)


10,算法的效率的度量方法。

用程序去统计程序的执行时间不靠谱。

 eg:计算100的累加,用不同的算法来表述

1+2+3+...+100+5050;

#include

int main()

{int sum=0;//执行1次

for(int i=1;i<=100;i++){//n+1次

sum=sum+i;//n次

}

printf("%d",sum);

}

总共执行2n+2

int  sum=0;

sum=(1+100)*100/2;

#include

int main()

{

int sum = 0;//执行1次
sum = (1 + 100)* 100 / 2;//执行1次
printf("%d", sum);

}

总共执行两次

随着n的变化,执行次数不一样

执行次数的表达式他的常数项可以忽略。

应该关注最高项的阶数。

相关