Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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
Big o 大O和嵌套循环 void函数(int N){ 对于(int i=0;i_Big O - Fatal编程技术网

Big o 大O和嵌套循环 void函数(int N){ 对于(int i=0;i

Big o 大O和嵌套循环 void函数(int N){ 对于(int i=0;i,big-o,Big O,一个函数,它从i=1循环到n,然后有一个从1到i的内循环,它的迭代次数等于以下公式: void function(int N){ for (int i=0; i<N; i++) for (int j= 0; j< i; j++) System.out.println("j") } 正如你所看到的,当我们除去主指数之外的所有东西时,你以O(n^2)结束 如果从1循环到n,然后有一个从1到n^2的内部循环,则为“是”。您处于O(n^3),因为您经过的迭代次数将等

一个函数,它从i=1循环到n,然后有一个从1到i的内循环,它的迭代次数等于以下公式:

void function(int N){
  for (int i=0; i<N; i++)
    for (int j= 0; j< i; j++)
      System.out.println("j")
}
正如你所看到的,当我们除去主指数之外的所有东西时,你以O(n^2)结束

如果从1循环到n,然后有一个从1到n^2的内部循环,则为“是”。您处于O(n^3),因为您经过的迭代次数将等于:

n(n+1)/2

在大O表示法中,你所关心的是多项式中的最大元素,它描述了代码将要经过的迭代次数。这是因为除了最大元素以外的所有元素在n变大时都不重要。我们真正关心的是n变大时的时间要求。因此eads到n^3+5n^2+2n的迭代将有一个大的O表示法O(n^3)。

一个从i=1到n循环的函数,然后有一个从1到i的内循环,将通过一个等于以下公式的迭代次数:

void function(int N){
  for (int i=0; i<N; i++)
    for (int j= 0; j< i; j++)
      System.out.println("j")
}
正如你所看到的,当我们除去主指数之外的所有东西时,你以O(n^2)结束

如果从1循环到n,然后有一个从1到n^2的内部循环,则为“是”。您处于O(n^3),因为您经过的迭代次数将等于:

n(n+1)/2

在大O表示法中,你所关心的是多项式中的最大元素,它描述了代码将要经过的迭代次数。这是因为除了最大元素以外的所有元素在n变大时都不重要。我们真正关心的是n变大时的时间要求。因此eads到n^3+5n^2+2n的迭代将有一个大的O符号O(n^3)。

您可以像下面这样正式而直接地确定增长顺序:


您可以像下面这样正式而直接地确定增长顺序:


这绝对是一个订单(n^2)函数。正如达米恩·布莱克(Damien Black)在他的回答中指出的那样,内环只是从
0
增加到
i
,而不是从
0
增加到
N
,这一事实增加了
1/2
的总体常数,但并没有改变增长的二次性。这可能的重复肯定是一个顺序(N^2)函数。正如达米恩·布莱克(Damien Black)在他的回答中指出的那样,内环只是从
0
增加到
i
,而不是从
0
增加到
N
,这一事实增加了
1/2
的总体常数,但不会改变增长的二次性。为什么N^2不是(N^2)的可能重复+n、 因为在展开之后,它将是(n^2+n)/2、+n被删除。你所关心的是,大O符号是多项式中最大的元素。这是因为,除了最大元素之外的所有元素在n变大时都不重要。我们只关心n变大时的时间要求。因此,导致n^3+5n^2+2n迭代的算法将e是O(n^3)的大O符号。为什么n^2不是(n^2)+n,因为展开后它会是(n^2+n)/2、+n被删除。你所关心的是,大O符号是多项式中最大的元素。这是因为,除了最大元素之外的所有元素在n变大时都不重要。我们只关心n变大时的时间要求。因此,导致n^3+5n^2+2n迭代的算法将e是O(n^3)的一个大O符号。它是T(n),不是T(n),省略了大写字母。它是T(n),不是T(n),省略了大写字母。