【问题标题】:Big Oh notation大哦符号
【发布时间】:2012-01-05 21:47:52
【问题描述】:

只需要快速确认某事。 如果一个算法需要n(n-1)/2 测试来运行,那么O(n^2) 是不是很大?

【问题讨论】:

    标签: algorithm big-o


    【解决方案1】:

    是的,没错。

    n(n-1)/2 扩展为 n^2/2 - n/2

    线性项n/2 下降,因为它的阶数较低。这留下了n^2/2。常量被大O 吸收,留下n^2

    【讨论】:

    • @Jay,如果您认为这可以满足您的问题,您应该接受答案
    【解决方案2】:

    是的:

    n(n-1)/2 = (n2-n)/2 = O(n^2)
    

    【讨论】:

      【解决方案3】:

      是的,是的。 n(n-1)/2(n^2 - n)/2,如果您选择至少为 1 的 c,则对于所有 n>=1,它显然小于 c*n^2

      【讨论】:

        【解决方案4】:

        n(n-1)/2 展开为(n^2 -n) / 2,即(n^2/2) - (n/2)

        (n^2/2)(n/2)是两个函数组件,其中n^2/2占主导地位。 因此,我们可以忽略- (n/2) 部分。

        n^2/2,您可以安全地删除渐近符号分析中的 /2 部分。

        这简化为 n^2

        所以是的,它在 O(n^2) 中

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-09-28
          • 1970-01-01
          • 1970-01-01
          • 2022-09-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-24
          相关资源
          最近更新 更多