几种常见的算法时间复杂度的比较(又小到大):
O(1)常数阶 < O(logn)对数阶 < O(n)线性阶 < O(n2)平方阶 < O(n3)(立方阶) < O(2n) (指数阶)
关于对数

int count = 1;
while(count < n)
{  
 
   count = count*2;
   //时间复杂度O(1)的程序步骤序列
   ......
 
}

由于每次count乘以2之后,就距离n更近了一分。也就是说,有多少个2相乘后大于等于n,则会退出循环。由2^x=n 得到x=logn。所以这个循环的时间复杂度为O(logn).

标签: none

添加新评论