For loop 分析嵌套循环
分析以下各项的运行时复杂性:For loop 分析嵌套循环,for-loop,time-complexity,For Loop,Time Complexity,分析以下各项的运行时复杂性: for(i=1; i <= n; i=i*2) for(j=1; j<= n-i; j++) print j; 因此,我得到以下信息: 是这样吗?我真的不确定变量的变化和中间和。我们将分别研究循环的每个部分 外环可以表示为: for(i=1; i <= n; i=i*2) f(n, i) 这具有n的复杂性,因为n支配ii是小于n的二次幂,因此它们的差值在最坏情况下为n-1 因此,复杂性是log(n)*n或nlog(n)Ni
for(i=1; i <= n; i=i*2)
for(j=1; j<= n-i; j++)
print j;
因此,我得到以下信息:
是这样吗?我真的不确定变量的变化和中间和。我们将分别研究循环的每个部分 外环可以表示为:
for(i=1; i <= n; i=i*2)
f(n, i)
这具有n
的复杂性,因为n
支配i
i
是小于n
的二次幂,因此它们的差值在最坏情况下为n-1
因此,复杂性是
log(n)*n
或nlog(n)
Nice。像这样拆分for循环真的可以吗?这样做时,您必须记住循环之间的关系。您指的是print x
?
for(i=1; i <= n; i=i*2)
f(n, i)
for(j=1; j<= n-i; j++)
print j;