【问题标题】:n*n (not nested) for loop complexityn*n(非嵌套)循环复杂度
【发布时间】:2017-06-05 07:21:01
【问题描述】:

我知道查看嵌套循环时算法复杂性的模式通常是n^(m+1),其中 m 是循环嵌套因子(循环中的循环)。

但是这个简单的案例呢,在哪里

for (i=0; i<n*n; i++) {
    ...
}

复杂度是O(n^2)

因为执行次数与普通嵌套 for 循环的执行次数相同。

【问题讨论】:

  • 请完成您的问题!
  • 抱歉,代码部分开始时帖子出现故障。

标签: time-complexity space-complexity


【解决方案1】:

假设在 for 循环的每次迭代中完成的工作是 O(1),那么 for 循环的复杂度确实是 O(n^2),因为您迭代了 n^2 次。是的,您正确地假设它的复杂性与以下内容相同:

for(i=0;i<n;i++) {
    for(j=0;j<n;j++) {
        ...
    }
}

【讨论】:

  • 谢谢。如果在这个 for 循环中的每次迭代中完成的工作是 O(n),那么我假设总复杂度将是 O(n^3) 等。对吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-18
  • 2020-10-01
  • 2020-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多