gpt4 book ai didi

java - Big O 嵌套 for 循环问题

转载 作者:行者123 更新时间:2023-12-01 22:29:22 25 4
gpt4 key购买 nike

 public static void main(String[] args) {
int count = 0;
int n = 20;
for (int i = 0; i < n; i++) {
for (int j = i; j > 0; j--) {
count++;
}
}
System.out.println(count);
}

上面是一个简单的嵌套 for 循环的代码,我和我的同事对它的 Big O 有疑问。

正如我所见,每个 for 循环都是 o(n),而 o(n)*o(n) 使 o(n^2)。然而,由于第二个 for 循环从第一个循环开始 i 并且不执行例如 J 为 0 时的第一个循环,因此存在问题。我认为这不会影响它作为两组第一个循环的数据 n-i 和第二个循环的 j-i 仍在遍历。任何清晰度将不胜感激。

最佳答案

外层循环将运行 n 次,而内层循环取决于 i 的值。但基本上,它执行 0, 1, ..., n-1 循环,总共 (0 + n-1) * (n)/2 = (n^ 2 - n)/2O(n^2)

关于java - Big O 嵌套 for 循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30223176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com