度量算法的效率:时间复杂度、空间复杂度。
时间复杂度,一般情况,算法中基本操作重复执行的次数是问题规模n的一个函数f(n),算法的时间度量记做T(n)=O(f(n)),他表示随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称做算法的渐近时间复杂度,简称时间复杂度。
插入一个概念:语句的頻度指的是该语句重复执行是次数。
我们在计算时间复杂度的时候,
先要找出算法的基本操作,并根据基本操作语句计算出其执行次数。
再找出其同数量级。。。T(n)=O(f(n)=数量级)。
例如:
for(i=1; i<=n; ++i)
{
for(j=1; j<=n; ++j)
{
c[i][j]=0;//该步骤属于基本操作执行次数:n的平方次
for(k=1; k<=n; ++k)
c[i][j]+=a[i][k]*b[k][j];//该步骤属于基本操作执行次数:n的三次方次
}
}