时间复杂度和空间复杂度是对算法和代码进行衡量的量。算法分析主要是指分析算法的效率,时间复杂度越小说明代码的利用效率就越高。
时间复杂度有两种计算方法:
1.事后统计方法
在算法关键位置插入计时器,算法开始执行打开计时器,终止时关闭计时器,最终经过计算的算法执行时间的差值,可以计算出算法利用效率。
2.事前分析估算法
因素:
1.算法采取的策略;
2.问题的规模;
3.程序设计语言;
4.编译的代码质量;
5.机器执行指令的速度。
通过例子进行时间复杂度的计算。
for(i=1;i<=n;++i) i从1开始执行,执行此数为1+n+n次,
for(j=1;j<=n;++j) 在i执行的基础上,J执行此数为(2n+1)*n次
{
c[i][j]=0; 执行此数为n*n次。
}
总的时间复杂度为所有执行次数的相加T(n)=n*n+(2n+1)*n+2n+1