Loops 计算嵌套for循环中的迭代次数
以下是伪代码:Loops 计算嵌套for循环中的迭代次数,loops,for-loop,iteration,big-o,counting,Loops,For Loop,Iteration,Big O,Counting,以下是伪代码: for i=1 to n for j=1 to n for k=1 to j x = x+1 我必须计算这两件事(I)精确计算(ii)发现它是大O 在(i)中,我的最终答案是n^4+2n^3+5n^2+4n+2。 在(ii)中,因为有三个环,所以它是O(n^3) 看起来肯定有一个错误,或者(i)或者(ii),因为(i)上升到4的幂,大O只有3 以下是我计算迭代次数的步骤: for(i=1; i <=n; i++) 对于(i=1;i对于这样的
for i=1 to n
for j=1 to n
for k=1 to j
x = x+1
我必须计算这两件事(I)精确计算(ii)发现它是大O
在(i)中,我的最终答案是n^4+2n^3+5n^2+4n+2。
在(ii)中,因为有三个环,所以它是O(n^3)
看起来肯定有一个错误,或者(i)或者(ii),因为(i)上升到4的幂,大O只有3
以下是我计算迭代次数的步骤:
for(i=1; i <=n; i++)
对于(i=1;i对于这样的嵌套循环,计算内部循环的迭代次数,Sigma表示法是一种方便的工具
由于我们通过等式(即,准确地说,没有不等式)来计算内循环的迭代次数,因此我们可以说明算法渐近行为的更强的big-Θ属性。这是在我们将x=x+1
定义为算法的基本操作的假设下进行的(这在这里是合适的)
对于你的算法——比如说T
——自然T∈ Θ(n^3)
表示渐近上下界,T∈ O(n^3)
和T∈ Ω(n^3)
。您在(i)中的计算不正确。它是O(n^3)
,因此它不能有n^4
项