如何确定某些东西是否是大功能的一部分?

时间:2013-09-05 15:10:29

标签: performance algorithm math

我一直在做这个家庭作业大约4个小时,我已经设法解决了一些关于这个的问题,但我仍然不知道这个是在谈论什么:

以下哪项是真的,哪些是假的,为什么?

(a)√n^5∈O(n ^ 2)

(b)√nlog√n∈O(n)

(c)log(n ^ 3)∈O(n log n)

(d)2 / n + 4 / n ^2∈Θ(1 / n)

(e)(log_2(n))^。5∈Θ(log(n))

(f)min(700,n ^ 2)∈Θ(1)

我的理解是我应该取f(n)/ g(n)并将其置于极限中,因为n->无限,解决..但是每个人都给我0,我知道这是不对的。

我该怎么做?

非常感谢。

1 个答案:

答案 0 :(得分:1)

所以有两种方法你可以想到这一点。一种是你所代表的方式,f(n)/ g(n),如n->无穷大,价值接近0.或者我认为的方式更容易:

There is some pair of constants A and B such that A * g(n) + B > f(n) for all n.  

这更好地代表了Big-O符号所代表的含义,即功能增长消耗了另一个功能增长。这也恰好是使用图形计算器轻松检查的大写符号的表示,以确认您的答案:)。

您通常可以忽略B值,并确保A * g(n)比f(n)增长得更快。 B只是一种形式。