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

用户941027:

我正在算法课程中学习Big 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循环?不幸的是,直到一周结束,我才能看到其他可用选项或正确答案。

阴谋678:

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

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

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

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

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

带有boot_completed的运行时异常Android O

什么是“运行时”?

big-O中的运行时间分析

将N个项目添加到ArrayList的Big-O运行时

haskell长度运行时O(1)或O(n)

具有O(n)运行时的堆栈溢出解决方案

两种算法的运行时复杂度(Big O表示法计算)

O(登录)while循环的运行时间?

以Big-O表示法计算运行时间

如何减少包含2个for循环的这段代码的运行时间?

为什么ArrayList的get操作的运行时为O(1),而LinkedList的运行时为O(N)?

for循环的最坏情况运行时,其运行时内部的for循环中的方法为Big O(log n)

什么是Big-O和确切的运行时间

N + N / 2 + N / 4 ...个迭代运行时

运行时为t(n)∈Θ(n ^ 3/2)的代码片段

当同时使用两个重叠字段时,为什么下面的代码运行时没有错误?

为什么在最坏情况下删除最小堆的运行时实现为数组O(N)?

用内部循环重复时间确定循环的big-O运行时是const

O(C(n,r)^ 2)的大O运行时间复杂度是多少?

递归函数的Big-O运行时间

阵列中所有对的总和为10,具有平均/最佳O(n)运行时复杂度

如何得出循环的log(n)运行时间?

确定这些不同循环的big-O运行时?

计算 Big-O 运行时

这段代码的运行时是什么

是否有可能有两个有效的大 O 运行时依赖于不同的变量?

在运行时生成 (n) 个按钮

程序制作的 Big-O 运行时

为什么下面的算法有运行时日志(log(n))?