如果我已经设法证明f(n) = o(g(n))
(小o),那么两个函数f(n) + g(n)
的总和应该被"更大的"严格约束似乎是合理的。函数g(n)
。
然而,我在证明它时遇到了一些麻烦。
答案 0 :(得分:2)
以下推理显示了渐近身份(Theta)意义上的“紧束缚”:
f = o(g)
<=> lim_n->oo ( f(n)/g(n) ) = 0
=> lim_n->oo ( (f(n)+g(n))/g(n) )
= lim_n->oo ( f(n)/g(n) ) + lim_n->oo ( g(n)/g(n) )
= 0 + 1
答案 1 :(得分:0)
f(n) = o(g(n)) means that |f(n)|<|C*g(n)|
+
g(n) = Θ(g(n)) means that |C1*g(n)|<=|g(n)|<=|C2*g(n)|
-------------------------------------------------------
f(n)+g(n) = Θ(g(n))+o(g(n))=Θ(g(n)) because |C1*g(n)|<=|g(n)+f(n)|<|(C+C2)*g(n)|
答案 2 :(得分:0)
这很容易。
如果f(n) = o(g(n))
,那么我们k
严格地|f(n)| < 0.5 * |g(n)|
n > k
0.5 * |g(n)| < |f(n) + g(n)| < 1.5 * |g(n)| = Θ(g(n))
(根据little-O的定义)。
因此n > k
为f(n)
。
QED。
如果g(n)
和f(n)
都是肯定的,那么你就不需要强大的小o条件。但是,当他们不是时,则需要强大的条件,否则g(n)
可能会完全取消f(n) = -g(n)
。 (例如{{1}})