本文主要是介绍数据结构-算法效率的度量-时间复杂度和空间复杂度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
度量算法的效率:时间复杂度、空间复杂度。
时间复杂度,一般情况,算法中基本操作重复执行的次数是问题规模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的三次方次}
}
这篇关于数据结构-算法效率的度量-时间复杂度和空间复杂度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!