算法与算法分析
算
法
运
行
时
间
=
∑
每
条
语
句
频
度
算法运行时间=\sum每条语句频度
算法运行时间=∑每条语句频度
求两个n×n矩阵相乘的算法:
for(i=1;i<=n;i++) //n+1次
for(j=1;j<=n;j++){ //n(n+1)次
c[i][j]=0; //n*n次
for(k=0;k<n;k++) n*n*(n+1)次
c[i][j]=c[i][j]+a[i][k]*b[k][j]; //n*n*n次
}
算法中每条语句的频度之和:
T(n)=2n3+3n2+2n+1
算法时间复杂度
算法中基本语句重复执行的次数是问题规模n的某个函数f(n),算法的时间度量记作:
T
(
n
)
=
O
(
f
(
n
)
)
T(n)=O(f(n))
T(n)=O(f(n))
表示随着n的增大,算法执行的时间的增长率和f(n)的增长率相同,称渐近时间复杂度。