每一个不曾起舞的日子都是对生命的辜负。
如果算法的执行时间不随着问题规模n的增加而增长,即使算法中有上千条语句,其执行时间也不过是一个较大的常数。此类算法的时间复杂度是O(1)。
123456789
x=91; y=100;while(y>0) { if(x>100) { x=x-10; y--; } else x++;}T(n) = O(1)
当有若干个循环语句时,算法的时间复杂度是由嵌套层数最多的循环语句中最内层语句的频度f(n)决定的
1234567
x=1; for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x++; T(n) = O(n3)
算法的时间复杂度不仅仅依赖于问题的规模,还与输入实例的初始状态有关。
A[0...n-1]查找给定k值得算法i=n-1; while(i>=0&&(A[i]!=k)) i--; return i;如果
O(1): 表示算法的运行时间为常量