战场老乌鸦 发表于 2016-6-28 17:10:27

求教一个算法时间复杂度 计算的问题!

void f (int n){
int x =1;
while (x<n)
x= 2*x;
}
答案是log2(n)!
搞不懂啊,帮忙指点一下!

荒年 发表于 2016-6-28 19:09:04

这个这样算,如果设计算的次数为i,那么和输入值的关系就是2^i = n,那计算的次数就是log2(n),那计算复杂度就是O(log2(n))
页: [1]
查看完整版本: 求教一个算法时间复杂度 计算的问题!