如何找到嵌套for循环的时间复杂度

阿米特

如下所示的嵌套循环的时间复杂度是多少:

1)

for (int i = 1; i <=n; i += 2) {
    for (int j = 1; j <=n; j += 2) {
        // some O(1) expressions
    }
}

2)

for (int i = 1; i <=n; i += 3) {
    for (int j = 1; j <=n; j += 3) {
        // some O(1) expressions
    }
}

一般来说:

for (int i = 1; i <=n; i += c) {
   for (int j = 1; j <=n; j += c) {
      // some O(1) expressions
   }
}

真的是以下吗?

O(n c

您的算法将执行(n / c) * (n /c)迭代。我们正在划分,因为我们在c每次迭代中都跳过字符。看到:

for (var i = 0; i <= n; i = i + 1)

将有n / 1迭代

for (var i = 0; i <= n; i = i + 2)

将有n / 2迭代

*请注意,结果将是底限。也就是说,如果n = 3c = 2,它将仅执行一次(floor(3 / 2) == 1

因此,我们可以将其概括为

(n / c)2 
=(n 2 / c 2
= 1 / c 2 * n 2

请记住,Big O只对变化率感兴趣。由于c是常数,因此从计算中将其忽略。

因此,结果是:

O(1 / c 2 * n 2)= O(n 2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

嵌套嵌套循环的时间复杂度?

来自分类Dev

带If的嵌套For循环的时间复杂度

来自分类Dev

减少嵌套for循环的时间复杂度

来自分类Dev

嵌套循环算法的时间复杂度

来自分类Dev

嵌套循环的时间复杂度

来自分类Dev

给定嵌套循环的时间复杂度

来自分类Dev

时间复杂度嵌套循环

来自分类Dev

嵌套while循环的时间复杂度

来自分类Dev

嵌套循环的平均时间复杂度

来自分类Dev

时间复杂度 - 嵌套 for 循环

来自分类Dev

嵌套循环的时间复杂度

来自分类Dev

嵌套循环的时间复杂度?

来自分类Dev

嵌套for循环中嵌套while循环的时间复杂度

来自分类Dev

时间复杂度嵌套循环内循环+外循环

来自分类Dev

for循环的时间复杂度与if语句和while循环嵌套

来自分类Dev

循环的时间复杂度

来自分类Dev

循环的时间复杂度

来自分类Dev

3个嵌套循环的时间复杂度计算

来自分类Dev

计算嵌套循环在C中的时间复杂度

来自分类Dev

带if语句的嵌套循环的时间复杂度

来自分类Dev

包含指数的嵌套循环的时间复杂度是多少?

来自分类Dev

各种嵌套for循环的算法时间复杂度

来自分类Dev

这个嵌套的for循环的时间复杂度是多少?

来自分类Dev

确定这些嵌套循环的时间复杂度

来自分类Dev

嵌套循环的 Big-O 时间复杂度

来自分类Dev

我的函数修复中2个嵌套的循环的时间复杂度如何为o(N)?

来自分类Dev

如何降低带有嵌套循环的C#方法的时间复杂度

来自分类Dev

如何找到这段代码的时间复杂度?

来自分类Dev

如何找到以下函数的时间复杂度?