时间频度:

记为T(n).是语句执行的次数。

int total=0;

for(i=0;i<100;i++){

total+=1;

}

比如这个代码T(n)=n+1=101

 

时间复杂度:

除去常数项,只拿时间频度的最高次数项并除去其系数

O(1)。 只有常数项。比如: S=(a+b)/2   就是这个。无论多少行代码,只要没有for循环等复杂结构,时间复杂度就是O(1)

O(N):比如一层for循环

O(N^2):2层for循环

O(N^3):3层for循环

对数阶:O(log2N)

线性对数阶:O(N log2N):将对数阶执行N次。

比如:for(i=0;i<n;i++){

while(i<n){

   i=i*2;

           }

      }

指数阶:O(2^n)

 

时间复杂度大小排序: O(1)<O(log2N)<O(N)<O(N log2N)<O(N^2)<O(N^3)<O(N^K)<O(2^n)