下面的这段代码,时间复杂度是多少呢?
int count = 1;
while(count < n)
{
count = count*2;
//时间复杂度O(1)的程序步骤序列
......
}
由于每次count成衣2之后,就距离n更近了一分。也就是说,有多少个2相乘后大于n,则会退出循环。由2^x=n 得到x=logn。所以这个循环的时间复杂度为O(logn).
下面的这段代码,时间复杂度是多少呢?
int count = 1;
while(count < n)
{
count = count*2;
//时间复杂度O(1)的程序步骤序列
......
}