解决问题 - 渐近分析

时间:2013-12-14 10:31:46

标签: algorithm

我是新的运行时间。我无法解决这个问题。

鉴于

f(n) = log n^2 and g(n) = log n + 5 

证明

f(n) = theta(g(n)).

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

这是微不足道的。从基本对数属性

f(n) = log(n^2) = 2*log(n)

你需要

C1*g(n) <= f(n) <= C2*g(n)

C1*(log(n) + 5) <= 2*log(n)          (1)

2*log(n) <= C2*(log(n) + 5)          (2)

如果您将(1)重写为

C1*log(n) + C1*5 <= log(n) + log(n)

看起来C1 == 1是个不错的选择,所以我们得到:

log(n) + 5 <= log(n) + log(n)
5 <= log(n)
n >= 32

所以我们得到C1 == 1,每个n >= 32,(1)成立。

对于(2),很明显你可以选择C2 == 2。最后你得到

for each n >= 32
g(n) <= f(n) <= 2*g(n)

QED。

相关问题