如何证明哪种渐近表示法有效

时间:2019-01-23 21:37:57

标签: big-o complexity-theory

我有一个问题,我给定f(n)= 27n ^ 3 + 27n和g(n)= 2n ^ 3 + n ^ 2,我必须确定f(n)∈O(g (n)),f(n)∈Ω(g(n))或f(n)∈Θ(g(n))。我认为f(n)∈Θ(g(n))是因为它们的增长率相同,但我不确定。

2 个答案:

答案 0 :(得分:1)

首先尝试证明f(n)= O(g(n)),然后证明f(n)=Ω(g(n))。然后,有一个定理说如果f(n)= O(g(n))并且f(n)=Ω(g(n)),我们可以得出结论f(n)=Θ(g(n))

如果要直接证明这一点,则应使用渐近定义:

1)Big-O:证明常数c和n_0存在,使得所有n> = n_0的f(n)<= c g(n)

2)Big-Ω:证明存在常数c和n_0,使得所有n> = n_0的f(n)> = c g(n)

3)Big-Θ:证明存在常数c_1和c_2以及n_0,使得对于所有n> = n_0的c_1 g(n)<= f(n)<= c_2 g(n)

无论如何,您的猜测是正确的,在该示例中f(n)∈Θ(g(n))。

答案 1 :(得分:0)

我建议通过以下示例学习简单的边界技术:

f(n)  = 27n^3 + 27n
     <= 27n^3 + 27n^2
     <= 27(n^3 + n^2)
     <= 27(2n^3 + n^2)
     <= 27g(n)

g(n)  = 2n^3 + n^2
     <= 2n^3 + n^3
      = 3n^3
     <= 27n^3
     <= 27n^3 + 27n
      = f(n)