I'm working through proof of f(n) + o(f(n)) = theta (f(n))
and I came across a part in the proof that I am having trouble understanding.
We let f(n)
and g(n)
be asymptotically positive functions and assume g(n) = O(f(n))
.
In the proof, it states that since we know that f(n) + g(n) ≥ f(n)
for all n
, we can conclude that f(n) + g(n) = Omega((f(n))
.
We can also conclude similarly that f(n) + g(n) ≤ 2 f(n)
. Therefore f(n) + g(n) = O(f(n))
.
I am having trouble understanding why it is the case that f(n) + g(n) = Omega((f(n))
and f(n) + g(n) = O(f(n))
would be true. How is it that we can prove that the tight-lower bound is specifically when we add g(n)
to f(n)
? What is it that we are exactly concluding from the value of g(n)
?
One way of proving that f(n)
is theta(g(n))
is to prove two separate statements: that f(n)
is omega(g(n))
, and f(n)
is O(g(n))
. It's pretty clear this way of proving is correct from the definitions of those notations.
In this exact problem, if we choose some constant c
to be equal to 1
, we will have, for every n
, that f(n) + g(n) >= c * f(n)
, so that, by definition, shows that f(n) + g(n)
is Omega(f(n))
. Furthermore, for the O(f(n))
part, if we choose the constant c
to be 2
in this case, we need to prove that there exists some n0
such that f(n) + g(n) <= c * f(n)
for every n > n0
, which is equivalent to g(n) <= f(n)
for every n > n0
, which is equivalent to the definition of g(n) = O(f(n))
given in the problem statement.
Hope this helps.