Algorithm 嵌套循环执行
这是一个非常简单的问题,但出于某种原因,我感到困惑,这很烦人Algorithm 嵌套循环执行,algorithm,loops,for-loop,printing,Algorithm,Loops,For Loop,Printing,这是一个非常简单的问题,但出于某种原因,我感到困惑,这很烦人 def test(): for i from Lo1 to Hi1: for j from Lo2 to Hi2: body() body()将为以下对象执行多少次: Lo1=1,Hi1=n,Lo2=i-2,Hi2=i+2 答案是5n次,但我不知道他们是怎么得到的 Lo2=i-2,Hi2=i+2内环 所以(i-2)到(i+2)=5个备选方案例如:i-2,i-1,i,i+1,i+2 比如(-2)到(+2)=-2,-1,
def test():
for i from Lo1 to Hi1:
for j from Lo2 to Hi2:
body()
body()将为以下对象执行多少次:
Lo1=1,Hi1=n,Lo2=i-2,Hi2=i+2
答案是5n次,但我不知道他们是怎么得到的 Lo2=i-2,Hi2=i+2内环 所以(i-2)到(i+2)=5个备选方案
例如:i-2,i-1,i,i+1,i+2
比如(-2)到(+2)=-2,-1,0,1,2
Lo1=1,Hi1=n外环
1至N
So总计内部*外部
5*N=5N
我认为最容易理解的方法是运行它 例如,对于
n=10
,以下java代码在每次迭代中打印i
和j
的值:
for (int i=0; i<=10; i++){
for (int j=i-2; j<=i+2; j++)
System.out.println("i = " + i + ", j= " + j);
}
您现在可以看到,对于
i
,有10次迭代,对于每个i
,您有j的5次迭代(从i-2到i+2)
。因此,总共50(5*N)
次迭代。假设Java代码有一个for循环
for(int i=3;i<=6;i++)
{
//Statements to be executed
}
for(int i=3;i)你认为它会执行多少次?首先,j上的循环执行多少次?太简单了!我真的很喜欢这个修改步骤,它让事情变得很清楚。非常感谢!我会用正确的答案标记它/投票,但我没有足够的代表:(这太棒了,你是对的。一旦你实现了算法,这真的很容易。我现在知道发生了什么。我会投票给你的答案,但我不能=(哇,另一个很好的方式来看待它。一旦你向我解释了这个公式,这是非常明显的。谢谢你,我直到那时才知道,@aa1992我没有足够的尊重。
for(int i=3;i<=6;i++)
{
//Statements to be executed
}