Time 时间复杂度-嵌套for循环

Time 时间复杂度-嵌套for循环,time,big-o,complexity-theory,Time,Big O,Complexity Theory,对于给定的代码,bigO表示法的时间复杂度是多少: for(i=n; i >= 1; i /=2) for(j=i; j>=1; j/=2) x = i+j; 第一个循环运行logn次,第二个循环如何? 是(logn*logn)吗 我很困惑 感谢渐近,我们可以说第二个循环的复杂度是O(logn),在第一个循环的每次迭代中,第二个循环迭代一次,所以复杂度将是logn*logn,即(logn)^2那么log(N)*log(log(N))呢?你能解释一下吗?诚然,你是对的。假

对于给定的代码,bigO表示法的时间复杂度是多少:

for(i=n; i >= 1; i /=2)
 for(j=i; j>=1; j/=2)
     x = i+j;
第一个循环运行logn次,第二个循环如何? 是(logn*logn)吗

我很困惑


感谢

渐近,我们可以说第二个循环的复杂度是O(logn),在第一个循环的每次迭代中,第二个循环迭代一次,所以复杂度将是logn*logn,即(logn)^2

那么
log(N)*log(log(N))
呢?你能解释一下吗?诚然,你是对的。假设log2(n)=10。然后第一个循环迭代10次,内部循环10+9+8+7…+1,这是与我们认为的log(N)相关的二次循环,所以我们有(log(N))^2