鉴于两个功能,一个功能的其它功能的大O?

我的问题是指在算法分析的大哦符号。 虽然大哦,似乎是一个数学问题,它在算法分析了许多有益的。

假设两个函数定义如下:

  • F(N)= 2(n次幂),当n为偶数
  • F(N)= N N为奇数时
  • G(N)= N n为偶数
  • G(N)= 2(n次幂),当n为奇数。

对于上述两个功能其中之一是其它大哦? 或是否有任何功能不是另一个函数的大哦。

谢谢!

--------------解决方案-------------

在这种情况下,

  • ˚F∉O(g)和
  • 摹∉O(F)。

这是因为,无论什么常数n和k你挑选,

  • 存在I≥N使得 F(ⅰ)>公斤(i)中,并
  • 存在Ĵ≥N使得一下g(j)> KF(J)。

大哦关系是相当具体的一个功能是,有限的N,总是大于另一个之后。

这是真的吗? 如果是这样,给这样的n 。 如果没有,你应该证明这一点。

通常大O和大西塔符号感到困惑。

在定义中的外行尝试可能是大O是指一个函数的增长速度或比另一种更快,即给定一个足够大的N, f(n)<=k*g(n)其中k为某个常数。 这意味着,如果F(X)= 2X ^ 3,那么它是在O(X ^ 3),O(X ^ 4),O(2 ^ X),O(X!)等。

大-θ意味着一个功能是能够“长大”,另外,或者, 作为快速成长为另一个,具有没有一个k1*g(n)<=f(n)<=k2*g(n)为一些k1和k2。 在编程术语,这意味着这两个功能有复杂的相同的水平。 如果F(X)= 2×^ 3,则它在Θ(X ^ 3),例如,如果K1 = 1,K2 = 3, 1*x^3 < 2*x^3 < 3*x^3

根据我的经验,每当程序员都在谈论大澳的讨论实际上是对BIG-Θ,因为我们部分多用更关心,比不得高于部分。

也就是说,如果用不同的Θ的两个功能结合起来,在你的榜样,较大的一个- (Θ(2 ^ N) -燕子较小- Θ(N),这样既fg具有完全相同的大O和大Θ复杂性。在这种情况下,这既是正确的,

f(n) = O(g(n)), also f(n) = Θ(g(n))
g(n) = O(f(n)), also g(n) = Θ(f(n))

这样,因为它们具有相同的复杂性,它们是O和Θ由彼此约束。

分类:大O 时间:2015-03-15 人气:0
本文关键词: 大O
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.930 (s). 10 q(s)