【问题标题】:Discrete Math Big O Notation离散数学大 O 表示法
【发布时间】:2016-05-03 18:46:41
【问题描述】:

我正在为我的离散数学课学习,我开始更好地掌握大 O 符号的概念,并且成功地使用 f(x) 的定义证明了几个问题是 O(g(x ))。

我如何使用定义证明这个问题不是大 O。请提供一步一步的答案,就像您在考试中获得满分一样,并请用简单的语言解释您为什么要完成每一步!

这里有 2 个示例问题:

1) 1 不大 O(1/x)

2) e^x 不是 O(x^5) 大 O

【问题讨论】:

  • 如果你在上离散数学课,他们会教你。做功课,问教授问题,你就会知道它是如何工作的。在互联网上寻求现成的解决方案通常不符合学术道德标准。正如您的教科书所述,诀窍是确定两个函数:一个是“下限”,一个是“上限”。如果这些边界函数具有相同的大 O,那么有界函数也是如此。这完全是关于忽略常数并专注于函数如何随着非常大的 x 增长。
  • 这听起来像是在寻求家庭作业帮助...
  • @ChuckWalbourn 我在春季学校,课程还没有开始。我以前对离散数学有一些了解,但我知道大 O 是主要概念之一,所以我试图完全理解它。我正在从教科书中做练习题并通过网络浏览,但没有发现任何可以帮助我理解这些步骤的东西。如果您没有回答我的问题,请不要在帖子上发帖或评论。这个网站旨在互相帮助,这就是我来这里的目的。
  • 如果长期使用 StackOverflow 的人对“做我的功课”问题很敏感,请不要把它当作个人;并非所有知识都可以在 YouTube 视频中找到。大多数数学概念只有在你根据一些给定的原则自己解决时才有意义。如果您只是在寻找具有解决方案的示例,经典的 Schaum 的离散数学大纲 是这类事情的一个很好的来源。真正的挑战是“感觉”特定函数将如何渐近增长,而这实际上只能通过解决问题来实现。

标签: big-o discrete-mathematics notation


【解决方案1】:

1) 1 不大 O(1/x)

为了证明1 不是 O(1/x),我们必须证明对于任何常量 c,不存在 x_0,因此对于所有 x >= x_01 <= c*1/x。假设 1 是 1/x 的大 O。我们采用c = c_0 > 0,一个常数。那么我们必须有1 <= c_0*1/x 对应x >= x_0。假设x > 0,我们可以求解得到x <= c_0。这不可能对所有x >= x_0 都成立(对于大于或等于max(x_0, c_0) 的第一个数字会失败),所以我们的假设是错误的,第一个不是第二个的大 O。

2) e^x 不是 O(x^5) 大 O

为了证明e^x 不是 O(x^5),我们必须证明对于任何常数 c,不存在 x_0,这样对于所有 x >= x_0e^x <= c*x^5。假设e^xx^5 的大O。我们采用c = c_0 > 0,一个常数。那么我们必须有e^x <= c_0*x^5 对应x >= x_0。我们可以重新排列它以获得所有x >= x_0e^x / x^5 <= c_0。但是,e^x / x^5 的极限为x -> +inf,趋向于+inf;我们可以通过迭代 l'Hopital 的规则来看到这一点:

        e^x            e^x                  e^x
lim     ---  = lim     ---  = ... = lim     --- = +inf
x->+inf x^5    x->+inf 5x^4         x->+inf 120

这是一个矛盾,因为没有大于或等于无穷大的常数c_0。因此,我们的假设是错误的,第一个不是第二个的大 O。

注意:我写lim = +inf 的意思是“表达式的值无限增长”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    相关资源
    最近更新 更多