【问题标题】:Big-Oh ascending order of some functions f(n)某些函数 f(n) 的 Big-Oh 升序
【发布时间】:2017-03-30 17:26:27
【问题描述】:

将这些函数按 n 的升序排列: 2^((log n)^0.5), 2^n, 2^(n/2), n^(4/3), n(log n)^3, n^(log n), 2^(n ^2),嗯!

【问题讨论】:

  • 这不是家庭作业服务。

标签: algorithm big-o asymptotic-complexity


【解决方案1】:

部分答案:2^((log n)^0.5), 2^(n/2), 2^n, n!, 2^(n^2)。

还需要把这些:n^(4/3), n(log n)^3, n^(log n)

【讨论】:

    【解决方案2】:

    解决这个问题的方法是查看当n 接近无穷大时哪个函数最快接近无穷大。假设你有一些函数:

    f(n) = n!
    g(n) = n
    h(n) = 3^n
    

    n 接近无穷大时,您可以通过评估它们的比率来比较任意两个函数。例如:

    Lim      f(n) /
    n->∞         / g(n)
    

    如果结果大于 1,则 f(n) 渐近大于 g(n)。如果结果是 1,那么它们是渐近相同的。如果结果小于一,则f(n) 渐近小于g(n)

    你可能会发现有些很容易解决,比如f(n)g(n),你可以简化表达式,得到一个确定的极限值。

        f(n) /       = n! /    = n (n-1)! /   = (n-1)!
            / g(n)       / n             / n
    

    n 趋于无穷这个表达式的极限是无穷大,这意味着 f(n) 渐近大于 g(n)

    其他的表达方式就没那么简单了。如果评估限制给你一个不确定的形式,你需要使用L'Hôpital's rule

    Lim      g(n) /        =  Lim    n /     =  ∞ /
    n->∞         / h(n)       n->∞    / 3^n      / ∞
    

    根据 L'Hôpital 的规则,我们可以通过替换 g'(n)h'(n) 来评估限制。

    Lim      g'(n) /         =  Lim    1 /           =  1 /
    n->∞          / h'(n)       n->∞    / 3^n ln(3)      / ∞
    

    这个限制显然小于 1,所以我们可以说g(n) 渐近小于h(n)

    【讨论】:

      猜你喜欢
      • 2013-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多