算法 – 两个函数相乘后的复杂性分析

给定F(n)=θ(n)

H(n)= O(n)

G(n)=Ω(n)

那么F(n)[G(n)的顺序是什么. H(n)]?

编辑:F(n)=θ(n)不是Q(n)

最佳答案 没有足够的信息来说明关于函数P(n)= G(n)* H(n)的任何信息.我们所知道的是,G至少线性增长;它可以以二次方,立方方式,甚至指数方式增长.同样,我们只知道H最多线性增长;它只能以对数方式增长,或者保持不变,甚至可以减少.结果,P(n)本身可以无限制地减小或增加,这意味着总和F(n)P(n)也可以无限制地减小或增加.

但是,假设我们可以假设H(n)=Ω(1)(即,它至少不减小).现在我们可以说以下关于P(n):

P(n) = H(n) * G(n)
     >= C1 * G(n)
     = Ω(G(n)) = Ω(n)

P(n) <= C1*n * G(n)
      = O(n*G(n))

因此,F(n)P(n)=Ω(n)和F(n)P(n)= O(n * G(n)),但不能再说了;两个界限都尽可能紧密,没有关于H或G的更多信息.

点赞