【问题标题】:Finding the upper bound of a function求函数的上界
【发布时间】:2021-01-14 04:34:48
【问题描述】:

Example-3 求 f(n) = n^4 + 100n^2 + 50 的上界

解:n^4 + 100n^2 + 50 ≤ 2n^4,对于所有 n ≥ 11 ∴ n^4 + 100n^2 + 50 = O(n^4 ) 其中 c = 2 和 n0 = 11

在上述问题中,解说 n>11 并且 n-nought 是 11。 谁能解释为什么是11? 供参考 - 这是 Narasimha Karumanchi 的 Data Structures and Algorithms Made Easy 中的一个问题

【问题讨论】:

  • 请不要张贴文字的图片,而是写在问题中
  • 这看起来像是对我的家庭作业帮助。不好。
  • @Jay 不,这是一个真正了解问题的搜索,如果它是一个家庭作业,我为什么要发布解决方案。
  • 那么误报 :) 我们有很多人要求家庭作业帮助......好人像现在一样受到指责。我很抱歉。

标签: algorithm data-structures big-o


【解决方案1】:

f(n) = n^4 + 100n^2 + 50

直观地说,n^4 增长非常快; n^2 的增长速度低于 n^4;而50 根本没有增长。

但是,对于 nn^4 < 50 的小值;此外,n^2 术语前面有一个因子 100。由于这个因素,对于较小的 n 值,n^4

但是因为我们直觉n^4 的增长速度比n^2 快得多,所以我们预计,对于足够大的n,100 n^2 + 50 < n^4

为了断言和证明这一主张,我们需要更准确地了解“对于 n 足够大”的含义。你的教科书找到了一个准确的值;他们声称:对于 n ≥ 11,100 n^2 + 50 < n^4

他们是怎么发现的?也许他们解决了n 的不等式。或者也许他们只是通过注意到这一点而直觉到:

100 n^2 = 10 * 10 * n * n`
    n^4 =  n * n  * n * n

因此,只要 n 大于 10,n^4 就会成为两者中较大的一个。

结论:只要 n ≥ 11,f(n) < 2 n^4。因此,f(n) 满足f(n) = O(n^4) 的教科书定义。

【讨论】:

  • 感谢您的详细解释。
【解决方案2】:

它没有说n>11 它说n4 + 100n2 + 50 ≤ 2n4,对于所有n ≥ 11

这是真的吗?您可以将公式中的n 替换为11 并自行检查。

11 是如何获得的?通过解决不等式。

【讨论】:

    【解决方案3】:

    它没有找到函数的上限。它是对带有大 O 表示法的函数的渐近分析。因此,常数c = 11 对分析无关紧要,并且如果您可以证明不等式对所有大于任何常数的n 都有效,例如c = 100,则将被接受。顺便说一句,你可以通过数学归纳证明它对所有n > 11 都是正确的。

    【讨论】:

    • 谢谢,但我不完全理解,因为我是这个概念的新手,是否可以推荐一些我可以得到更清晰图片的来源。
    • @PreethiNaidu 许多来源。您可以从“en.wikipedia.org/wiki/Asymptotic_analysis”开始
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多