求和的复杂度计算
complexity calculation of summation
我无法理解以下代码的复杂度计算:
for (int i=0;i<=n;i++) //executes n times
for(int j=0;j<=m;j=j+i) //execute ? times
//do something
时间复杂度 = O(n*?)
请帮忙。
编辑:对于由于 details.Here 执行不足造成的不便,我深表歉意 我不是在询问执行内部循环的时间 called.My 问题,在这方面是通过执行 n 次来分析大 O complexity.And 我的意思是 运行 次。
这里的 n 是一个比 i 或 j 大很多的数字。
因此,n>0.
我很难理解内循环的大 O 符号分析的概念,它被执行,假设 k 次小于 n,并且随着 i 的增加而增加。
编辑:循环编辑
代码没有终止。对于 n=0 的第一次迭代,内循环将陷入无限循环:(j=0; j <=0; j=j+0) 其中 j<=0 始终保持为真,而 j 永远不会改变(为 0永远)。
2.循环执行n - i
次
示例 n=6
1. 循环的第一个 运行:
i=1
j=1+1
j=2+1
j=3+1
j=4+1
j=5+1
j<=n
1. 循环的第二个 运行:
i=2
j=1+2
j=2+2
j=3+2
j=4+2
j<=n
1. 循环的第三个 运行:
i=3
j=1+3
j=2+3
j=3+3
j<=n
1.循环的第四个运行:
i=4
j=1+4
j=2+4
j<=n
1. 循环的第五个运行:
i=5
j=1+5
j<=n
我无法理解以下代码的复杂度计算:
for (int i=0;i<=n;i++) //executes n times
for(int j=0;j<=m;j=j+i) //execute ? times
//do something
时间复杂度 = O(n*?)
请帮忙。
编辑:对于由于 details.Here 执行不足造成的不便,我深表歉意 我不是在询问执行内部循环的时间 called.My 问题,在这方面是通过执行 n 次来分析大 O complexity.And 我的意思是 运行 次。
这里的 n 是一个比 i 或 j 大很多的数字。 因此,n>0.
我很难理解内循环的大 O 符号分析的概念,它被执行,假设 k 次小于 n,并且随着 i 的增加而增加。
编辑:循环编辑
代码没有终止。对于 n=0 的第一次迭代,内循环将陷入无限循环:(j=0; j <=0; j=j+0) 其中 j<=0 始终保持为真,而 j 永远不会改变(为 0永远)。
2.循环执行n - i
次
示例 n=6
1. 循环的第一个 运行:
i=1
j=1+1
j=2+1
j=3+1
j=4+1
j=5+1
j<=n
1. 循环的第二个 运行:
i=2
j=1+2
j=2+2
j=3+2
j=4+2
j<=n
1. 循环的第三个 运行:
i=3
j=1+3
j=2+3
j=3+3
j<=n
1.循环的第四个运行:
i=4
j=1+4
j=2+4
j<=n
1. 循环的第五个运行:
i=5
j=1+5
j<=n