gpt4 book ai didi

java - 为什么这段带有两个 for 循环的代码没有 O(N^2) 的大 O 运行时间?

转载 作者:搜寻专家 更新时间:2023-11-01 01:40:02 25 4
gpt4 key购买 nike

我正在我的算法课上学习大 O 表示法。这周我刚做了一个在线测验,我们得到了一堆代码块,我们必须为其选择大的 O 复杂度。

除了这个代码块,我的一切都是正确的:

void printPairs(int[] arrX, int[] arrY) {
for(int i = 0; i < arrX.length; i++) {
for(int j = 0; j < arrY.length; j++) {
System.out.println(arrX[i] + "," + arrY[j]);
}
}
}

我输入了 O(N^2) 但我弄错了,我不确定为什么,有两个 for 循环?不幸的是,我要到本周末才能看到其他可用选项或正确答案。

最佳答案

如果只有一个输入,即一个数组作为参数传递并在两个 for 循环中的每一个循环中迭代,则运行时间将为 O(N²)

因为该方法有两个输入(arrXarrY),并且在两个 for 循环中的每一个中都使用了这两个输入。

Big O 运行时是 O(XY),其中 X = arrX.lengthY = arrY.length

编辑: @Oighea 所述仍然是二次时间算法。它只是两个变量。

关于java - 为什么这段带有两个 for 循环的代码没有 O(N^2) 的大 O 运行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50903845/

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