For loop 大O余数/模循环
我正在计算一个函数:For loop 大O余数/模循环,for-loop,big-o,modulo,For Loop,Big O,Modulo,我正在计算一个函数: total = 0; for (i = 0; i < N; i++){ for (j = 0; j < i*i; j++){ if (j % i == 0){ for (k=0; k < j; k++){ total++; total=0; 对于(i=0;i
total = 0;
for (i = 0; i < N; i++){
for (j = 0; j < i*i; j++){
if (j % i == 0){
for (k=0; k < j; k++){
total++;
total=0;
对于(i=0;i
当您将其分解时,我会为N^4或N^5指定一个大的O号。我不确定如何处理%号和该内部循环的运行时间。大致相当的代码是
total=0;
for (i=1; i<=N; i++)
for(j=1; j <= i*i; j+= i)
for (k=1; k <= j; k++)
total++;
j
循环迭代相同的次数,但我们只需对简单整数进行迭代,然后将乘法移到k
循环中,就可以更容易地证明total
是增量O(N^4)次数:内部k
循环运行O(N^2)次,并且自身在O(N^2)个值上迭代。您能修复缩进吗?内部循环何时运行还不完全清楚。可能重复
total=0;
for (i=1; i<=N; i++)
for(j=1; j <= i; j+= 1)
for (k=1; k <= j*j; k++)
total++;