Van*_*ika 2 c++ time-complexity
根据我的说法,时间复杂度应该是 O(nlogn),因为外循环工作直到 n/2^k =1 并且内循环工作 n 次。谁能告诉我是否正确。
while(n){
j=n;
while(j>1){
j-=1;
}
n/=2;
}
Run Code Online (Sandbox Code Playgroud)
内部循环进行n
迭代,外部每次迭代除以n
2,因此n + n/2 + n/4 + ... = 2n
内部循环的总迭代次数为 ,时间复杂度为O(n)
,而不是O(n log n)
。