时间复杂度分析实例例一 x=91; y=100; while(y0) if(x100) x=x-10; y-; else x+; 如果算法的执行时 间与问题规模n 无 关,则,不管算法 实现中有多少条语 句,其执行时间都 是一个常数。此类 算法的时间复杂度 是O(1) 。 T(n)=O(1)例二 i=1; k=0; while(i T(n)=O(n) 执行1 次 执行1 次 执行n 次 执行n-1 次 执行n-1 次例三 sum=0 ; for(i=1;i T(n)=O(n 2 ) 执行1 次 执行n+1 次 执行n(n+1) 次 执行n 2 次例四 i=1; while (i T(n) = O(logn ) 有:2 x-1n 则:log 2 n x = log 2 n + 1例五 for(i=0;in;i+) for(j=0;ji;j+) for(k=0;kj;k+) x=x+2; 当i=m, j=x 的时候, 最内层循环 体的执行次数为x 当i=m 时,j 可以取 0,1, ,m- 1, 所以,最内层循环体的执行 次数为:0+1+.+m-1=(m- 1)m/2 当i 从0 取到n-1, 最内层循环体 总共的执行次数: 0+(1-1)*1/2+.+(n-2)(n-1)/2 = T(n) = O(n 3 ) = 1 1 ) 2 / ) 1 ( n i i i