【问题标题】:Big O complexity with n^2 log(n)具有 n^2 log(n) 的大 O 复杂度
【发布时间】:2015-09-29 21:51:01
【问题描述】:

两个问题:

首先,如果 f(n) = n(3n + nlog(n)) 那么为什么 f(n) 是 Ω(n2)?

第二,为什么n2log(n)不是O(n2)?

【问题讨论】:

  • 我对我的答案进行了编辑。我错误地总结了你问题的第一部分。现在已经更正了。

标签: big-o logarithm


【解决方案1】:

这些都是 log(n) 趋于无穷大这一事实的结果,因为 n 趋于无穷大。

1) n(3n + nlog(n)) 是 omega(n^2) 因为对于大的 n 3n 可以忽略不计,并且 n^2log(n) 以 n^2 为界

2) n^2log(n) 是 not O(n^2) 因为,对于任何常数 K > 0,对于任何 n > e^K 你有 n^2log(n ) > Kn^2,所以没有 K 满足 n^2log(n)

【讨论】:

    【解决方案2】:

    Ω( ) 用于将边界置于函数之下。这意味着该函数的运行时间复杂度至少比 Ω( ) 中括号内提到的要高。现在,对于函数f(n) = n(3n + nlog(n)),在涉及的两个函数(3n2n2Log( n)) 是 n2Log(n)

    因此,任何小于支配函数的函数都可以作为下界,即使它可能不是最严格的下界。所以,f(n) 是 Ω(n2)


    接下来,n2Log(n) 的增长率高于 n2(正如我上面已经提到的那样,哪个占主导地位)。因此,n2Log(n) 是关于 f(n) 的 Big - O 的更紧密的界限(因此是更好的行列式)。因此,f(n) 是 O(n2Log(n)) 而不是 O(n2)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-09
      • 2021-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-12
      相关资源
      最近更新 更多