1

我有两个函数,f(n)=log 2 n 和 g(n)=log 10 n。我试图确定 f(n) 是 O(g(n)),还是 Ω(g(n)) 或 Θ(g(n))。我认为我应该取极限 f(n)/g(n),因为 n 趋于无穷大,我认为极限是常数,所以 f(n) 必须是 Θ(n)。

我对吗?

4

3 回答 3

4

log 2 n = log 10 n / log 10 2(从这里

所以 f(n) = g(n) / log 10 2

因此 f(n) 和 g(n) 仅相差一个常数因子(因为 log 10 2 是常数)。

因此,根据O(x)、Ω(x) 和 Θ(x) 的定义,我想说:

f(n) ∈ O(g(n)),
f(n) ∈ Ω(g(n)),
f(n) ∈ Θ(g(n))

于 2013-02-26T08:47:52.103 回答
2

是的你是对的。从复杂性的角度来看(至少从大 O 的角度来看)它是 log 2还是 log 10并不重要。

f(n) 是 O(g(n)) 并且 f(n) 是 Ω(g(n)),f(n) 是 Θ(g(n))

于 2013-02-26T08:48:12.687 回答
1

由于限制是恒定的,因此 f(n) ∈ Θ(g(n)) 是正确的(假设您在问题中有错字)。当然还有 g(n) ∈ Θ(f(n))。

顺便说一句:不仅比率的限制是常数,而且 log 2 n/log 10 n 始终是常数(log 2 10)。

于 2013-02-26T08:48:11.437 回答