【问题标题】:Asymptotic analysis of function函数的渐近分析
【发布时间】:2020-06-26 01:56:57
【问题描述】:

如何理解这类问题,我知道big-O、big-omega和big-theta,但你能用例子解释一下吗?

PS: 1. Big-o- 它定义了算法的上限,或者通俗地说,我们可以说为了计算最坏的情况,我们使用 big-oh。

DEFN: f(n)

  1. Big-omega - 它定义算法的下限或最佳情况。 定义:f(n)>=cg(n)

Big-theta 也类似,即算法的平均情况。

【问题讨论】:

  • 请勿发布包含文字的图片。
  • 准确地写下您对大 [...] 的了解。首先,你能写下他们的数学定义吗?

标签: algorithm time-complexity big-o


【解决方案1】:

假设函数是严格的正增长函数,答案是 Omega(n)

让我们为所有函数定义边界:

  • f(n) >= c1*n - 因为是 Omega(n)
  • 我们不知道 f(n) 的任何上限。
  • g(n) >= CONST - 因为它正在增长且非负数
  • g(n)
  • c3n n - 由于是 Theta(n)

现在让我们寻找下限(Omega):

T(n) = [f(n) * g(n)] + h(n) >= [c1*n * CONST] + c3*n
     = [c1*CONST + c3]*n

我们看到确实 T(n) 在 Omega(n) 中

现在,如果我们尝试找到一个上界,并让这个界成为某个函数 phi(n),我们可以得到f(n) = phi(n) * n,它仍在Omega(n) 中,然后:

T(n) = [phi(n)*n * g(n)] + h(n) >= [phi(n)*n * CONST] + c3*n 

这是在Omega(phi(n)*n) - 因此不能在O(phi(n))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-28
    • 2018-10-04
    • 2021-09-21
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 2016-10-28
    • 2018-11-03
    相关资源
    最近更新 更多