我试图在下面的图片中解决有关获得增长率的问题,但我不能。
从我之前学到的,如果有一个分数,我们通常不关心分母,但考虑分子部分,即“2 + 3n”。
因此,从我的角度来看,答案是“2 + 3n< 2n + 3n = 5n,证人c = 5,k = 1”或“2 + 3n< n + 3n = 4n,见证c = 4并且k = 2“,两者都导致O(n)。
然而,根据答案,这是不正确的。
你能否展示我如何达到答案的整个计算步骤,Big-theta(root(n)/ log(n))?
答案 0 :(得分:0)
您只需关注big O notation definition即可。对于这些,我喜欢使用big O的限制定义:
f(n) is in O(g(n)) if and only if:
lim n-> infinity |f(n) / g(n)| < infinity
然后将其应用于您的问题:
f(n) = (2+3n)/(5sqrt(n)(1+4logn))
g(n) = sqrt(n) / log(n)
只是对结果做一些代数:
lim n-> infinity: |f(n)/g(n)| =
= |(2+3n)log(n)/(5sqrt(n)(1+4logn)sqrt(n))| <=
<= |5nlog(n)/5sqrt(n)(1+4logn)sqrt(n))| =
= |nlogn/ (sqrt(n) * sqrt(n) * (1+4logn)| =
= |nlogn / n(1+4logn)| =
= |logn / (1+4logn)| <= |logn / 4logn| = 1/4 < infinity
由此,以及大O表示法的定义,证明f(n)
在O(g(n))
中。您可以通过显示lim n->infinity |g(n)/f(n)| < infinity
同样显示大型欧米茄,并且通过显示O(g(n))
和Omega(g(n))
,您可以断定这是紧密绑定(Theta(g(n)
)。