您将获得函数f和g,以便f(n)=O(g(n))
。
f(n)* log 2 (f(n)c)= O(g(n)* log 2 (g(n) ))?
(这里c是一些正常数。)
你应该假设f和g是非减少的并且总是大于1。
有人可以帮我解决这个问题吗?
提前感谢您的解释。
答案 0 :(得分:3)
当f(n) = O(g(n))
足够大时,知道f(n) <= Dg(n)
知道D
某个正常数n
。换句话说,存在一些N
,使得先前的不等式适用于所有n > N
。
现在,对于n > N
,我们有
f(n)lg(f(n)c) <= Dg(n)lg(Dg(n)c) ; lg is an increasing function
<= Dg(n)lg(g(n)) + Dg(n)lg(cD) ; lg(xy)=lg(x)+lg(y)
现在取E
的正常数lg(cD)D <= Elg(g(1))
。我们得到
<= Dg(n)lg(g(n)) + Eg(n)lg(g(1))
<= Dg(n)lg(g(n)) + Eg(n)lg(g(n)) ; g is non-decreasing
<= (D + E)g(n)lg(g(n))
= O(g(n)lg(g(n))) ; by definition