2015-01-17 23 views
0

所以我真的不理解这里的几件事情,在for(int i = 1; i <= n; i++)计数的步骤时,答案是:时间for循环的复杂性

1分配int i = 1,N + 1 i <= n和n为i++这总计2n + 2。我的困惑分3部分:

1.)是不是赋值int i = 1;也n?如果让我们说,n = 5,我们不会最终分配int i = 2,int i = 3 ...等吗?

2.)对于i <= n,是n + 1,因为你正在进行n次检查,而+1是否为假?

3.)最后,是i++ n,因为您正在执行n个添加?

+0

看起来您需要开发一些常识以及阅读和解释初学Java教程的能力。你真的**认为给变量赋1会分配2和3吗? –

回答

1

初始化int i=1;只在循环开始时执行一次,而不管n是多少。

至于2)和3),你是对的。

+0

好的,我看到,初始化,由于某种原因,单词赋值让我困惑了一下。我正在考虑增量,然后将这个值分配给我,当然这并不是相互排斥的。我对此进行了太多的研究。谢谢! :) –

2

For循环看起来像for(INIT; CONDITION; INCREMENT) { /* ... */ }。 INIT部分只执行一次。这相当于:

INIT 
while(CONDITION) 
{ /* ... */ 
    INCREMENT 
} 
+0

是的,我现在看到这个,谢谢! –

+0

好点。这是让它看起来清晰的最好方法。 –