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