Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 嵌套for循环的大O inty=1; 对于(int x=1;x 0;w--) y=y+1;_Java_Loops_For Loop_Big O_Nested Loops - Fatal编程技术网

Java 嵌套for循环的大O inty=1; 对于(int x=1;x 0;w--) y=y+1;

Java 嵌套for循环的大O inty=1; 对于(int x=1;x 0;w--) y=y+1;,java,loops,for-loop,big-o,nested-loops,Java,Loops,For Loop,Big O,Nested Loops,我对确定上述代码的BigO有点困惑。如果在最外层的循环中,则为(int x=1;x 内循环为(n)次 < > >((n+1)*n)< /代码>= n^ 2 +2n < /代码>= o(n ^ 2)< /代码>。因为我们考虑较大的值。 原因是n的值较大,2n的值对于n^2来说是无关紧要的。因此我们放弃n 您可以在此处阅读更多说明: 内循环为(n)次 < > >((n+1)*n)< /代码>= n^ 2 +2n < /代码>= o(n ^ 2)< /代码>。因为我们考虑较大的值。 原因是n的值较大,

我对确定上述代码的BigO有点困惑。如果在最外层的循环中,则为(int x=1;x 内循环为(n)次

< > >((n+1)*n)< /代码>=<代码> n^ 2 +2n < /代码>=<代码> o(n ^ 2)< /代码>。因为我们考虑较大的值。

原因是
n
的值较大,
2n
的值对于
n^2
来说是无关紧要的。因此我们放弃
n

您可以在此处阅读更多说明:

内循环为(n)次

< > >((n+1)*n)< /代码>=<代码> n^ 2 +2n < /代码>=<代码> o(n ^ 2)< /代码>。因为我们考虑较大的值。

原因是
n
的值较大,
2n
的值对于
n^2
来说是无关紧要的。因此我们放弃
n


您可以在这里阅读更多解释:

长答案短,相加常数无关紧要

假设我们计算了常数,然后,执行内部循环

  for (int w = n ; w > 0 ; w--)

时间。这仍然是O(n^2),因为平方项优先于线性项。

长答案短,相加常数不重要

假设我们计算了常数,然后,执行内部循环

  for (int w = n ; w > 0 ; w--)

这仍然是O(n^2),因为平方项优先于线性项。

n和n+2是相同的数量级,所以这个代码在O(n^2)中运行。
即使内部循环运行n+2次。

n和n+2的数量级相同,因此此代码以O(n^2)运行。
即使内部循环运行n+2次。

外部循环运行
n+2次,内部循环运行
n次,代码块也会运行
(n+2)*n
次,即
n*n+2*n
次。随着
n
值的增加,
2*n
变得无关紧要,因此你只剩下
n*n
,给你答案:O(n^2)

外循环运行
n+2次,内循环运行
n次,因此代码块运行
(n+2)*n
次,即
n*n+2*n
次。随着
n
值的增加,
2*n
变得无关紧要,因此你只剩下
n*n
,给你答案:O(n^2)

n
变为无穷大时,a
+2
迅速变得不相关。当
n
变为无穷大时,a
+2
的极限迅速变得不相关。当
n
变为无穷大时,a
+2
的极限等于
n^2+2n
,等于
n^2+2n
,当
n
变为无穷大时。在((n+2)*n)的乘法过程中,2in(n+2)会因为加法常数无关紧要规则而下降吗?@MikeNeal它会因为小于n^2而下降。只考虑最大值。@ MikeNeal,当你考虑较大的值时,2N将小于N ^ 2。所以它不会影响太多的复杂性。在((n+2)*n)的乘法过程中,(n+2)中的2会因为加法常数不重要规则而下降吗?@MikeNeal它会下降,因为它比n^2小。只考虑最大值。@ MikeNeal,当你考虑较大的值时,2N将小于N ^ 2。因此,它不会对复杂性产生太大影响。
  for (int w = n ; w > 0 ; w--)
(n+2)(n) = n^2 + 2n