我正在研究f(n) + o(f(n)) = theta (f(n))
的证明,并且在证明中有一部分难以理解。
我们将f(n)
和g(n)
设为渐近正函数,并假设g(n) = O(f(n))
。
在证明中,它指出,由于我们知道所有f(n) + g(n) ≥ f(n)
的{{1}},因此可以得出n
的结论。
我们也可以类似地得出f(n) + g(n) = Omega((f(n))
的结论。因此,f(n) + g(n) ≤ 2 f(n)
。
我无法理解为什么f(n) + g(n) = O(f(n))
和f(n) + g(n) = Omega((f(n))
是真实的情况。当我们向f(n) + g(n) = O(f(n))
添加g(n)
时,如何证明严格的下限是特定的?我们从f(n)
的值中得出的结论到底是什么?
答案 0 :(得分:0)
证明f(n)
是theta(g(n))
的一种方法是证明两个单独的语句:f(n)
是omega(g(n))
,而f(n)
是{{1} }。很明显,从这些符号的定义来看,这种证明方式是正确的。
在这个确切的问题中,如果我们选择某个常数O(g(n))
等于c
,那么对于每个1
,我们都会有那个n
,这样,根据定义,表明f(n) + g(n) >= c * f(n)
是f(n) + g(n)
。此外,对于Omega(f(n))
部分,如果在这种情况下我们选择常数O(f(n))
为c
,则需要证明存在2
使得{{1 }},每个n0
,都等于f(n) + g(n) <= c * f(n)
,每个n > n0
,都等于问题陈述中对g(n) <= f(n)
的定义。
希望这会有所帮助。