数据结构第一章要点
如果将s=0也看成是基本操作,则语句频度为2,其时间复杂度仍为O(1),即常量阶。 例3 for(i=1; i=n; ++i) { ++x; s+=x ; } 语句频度为:2n,其时间复杂度为:O(n) ,即为线性阶。 例4 for(i=1; i=n; ++i) for(j=1; j=n; ++j) { ++x; s+=x ; } 语句频度为:2n2 ,其时间复杂度为:O(n2) ,即为平方阶。 定理:若A(n)=a m n m +a m-1 n m-1 +…+a1n+a0是一个m次多项式,则A(n)=O(n m) 例5 for(i=2;i=n;++i) for(j=2;j=i-1;++j) {++x; a[i,j]=x; } 语句频度为: 1+2+3+…+n-2=(1+n-2) ×(n-2)/2 =(n-1)(n-2)/2 =n2-3n+2 ∴时间复杂度为O(n2),即此算法的时间复杂度为平方阶。 一个算法时间为O(1)的算法,它的基本运算执行的次数是固定的。因此,总的时间由一个常数(即零次多项式)来限
原创力文档

文档评论(0)