Data structures 大O符号的时间复杂度

Data structures 大O符号的时间复杂度,data-structures,big-o,Data Structures,Big O,我需要找出一些函数的时间复杂度,但我不确定我是否正确 让我们看看: f(inti){ Int x=1; 而(x>i){ 系统输出println(x); x=x*2; } 而(x>2){ x=(int)数学功率(x,1/2); 系统输出println(x); } } 现在,我认为第一个while循环告诉我们x=log(I) 第二个循环依赖于x,她在每次迭代中取x的值: x^1/2+x^1/4+x^1/(2^k) 假设第二个循环在x时停止,假设第一个循环是,而(x

我需要找出一些函数的时间复杂度,但我不确定我是否正确

让我们看看:

f(inti){
Int x=1;
而(x>i){
系统输出println(x);
x=x*2;
}
而(x>2){
x=(int)数学功率(x,1/2);
系统输出println(x);
}
}
现在,我认为第一个while循环告诉我们x=log(I)

第二个循环依赖于x,她在每次迭代中取x的值:

x^1/2+x^1/4+x^1/(2^k)


假设第二个循环在x时停止,假设第一个循环是
,而(x<1)

  • 第一个循环是
    log(n)
  • 第二个循环是
    log(log(n))

第一个循环占主导地位,因此我想说函数
f()
具有
log(n)
复杂性。

第一个循环是无限的或从不运行。你依赖溢出吗?@afghanimah我想OP的意思是
,而(x
@rtx13如果是这样的话,我支持你的观点answer@afghanimah你说得对,while循环是(x