Big o 带嵌套for循环和单for循环的大O表示法

Big o 带嵌套for循环和单for循环的大O表示法,big-o,Big O,但是,确认答案在^2上 我的问题是,为什么最后一个for循环会被包括在内,因为它本身会打开 非常感谢您的建议,从技术上讲,运行时为^2+n是正确的,因为初始循环是二次循环,第二个是线性循环。然而,big-O表示法的惯例是从big-O表达式中删除常量因子和低阶项,因为big-O表示法涉及长期 限制行为。因此,给出的On^2答案是计算运行时的更好方法。您的答案在技术上并不错误,但不被认为是良好的数学风格。您在技术上是正确的,运行时为^2+n,因为初始循环是二次循环,第二个是线性循环。然而,big-O

但是,确认答案在^2上

我的问题是,为什么最后一个for循环会被包括在内,因为它本身会打开


非常感谢您的建议,

从技术上讲,运行时为^2+n是正确的,因为初始循环是二次循环,第二个是线性循环。然而,big-O表示法的惯例是从big-O表达式中删除常量因子和低阶项,因为big-O表示法涉及长期
限制行为。因此,给出的On^2答案是计算运行时的更好方法。您的答案在技术上并不错误,但不被认为是良好的数学风格。

您在技术上是正确的,运行时为^2+n,因为初始循环是二次循环,第二个是线性循环。然而,big-O表示法的惯例是从big-O表达式中删除常量因子和低阶项,因为big-O表示法涉及长期
限制行为。因此,给出的On^2答案是计算运行时的更好方法。你的答案在技术上并不错误,但它并不被认为是好的数学风格。

用大O表示法,你取最高阶的分量,去掉其他乘法因子。原因是,当n在指数过程中变大时,再加上一个n实际上改变不了多少

如果n=1000000,则n^2为10000000000。说+n使其成为1000000不会产生重大影响。随着n的增大,影响甚至可以忽略不计


相反,对于像n logn这样的东西,它的数量级增加了一个数量级,所以保持乘法因子会有明显的影响

使用Big-O表示法时,取最高阶的分量,去掉其他乘法因子。原因是,当n在指数过程中变大时,再加上一个n实际上改变不了多少

如果n=1000000,则n^2为10000000000。说+n使其成为1000000不会产生重大影响。随着n的增大,影响甚至可以忽略不计


相反,对于像n logn这样的东西,它的数量级增加了一个数量级,所以保持乘法因子会有明显的影响

您不必提及On,因为与On^2分类相比,它是微不足道的。这与当你的算法有一个On部分和一个O1部分时的想法相同——你不调用+1,你调用它

这篇文章有一个很好的解释:
您不必提及On,因为与On^2分类相比,它是微不足道的。这与当你的算法有一个On部分和一个O1部分时的想法相同——你不调用+1,你调用它

这篇文章有一个很好的解释:

第一组嵌套循环在^2上,第二个循环在^2上。这是OmaxN ^2,它位于^2上


引用自:>>测试你自己3

第一组嵌套循环在^2上,第二个循环在^2上。这是OmaxN ^2,它位于^2上

引用自:>>测试自己3

    int a = 0, b = 0;    
    for (i = 0; i < N; i++) {
        for (j = 0; j < N; j++) {
            a = a + j;
        }
    }

    for (k = 0; k < N; k++) {
        b = b + k;
    } 
n^2 : nested for loops
n   : Adding the single loop