Big $O$: True or false statements

58 Views Asked by At

$f,g: \mathbb{N}_0 \rightarrow \mathbb{N}^+.$

$ f(n)^{O(g(n))}$ is the set of functions $h: \mathbb{N}_0 \rightarrow \mathbb{R}_0^+$ with $h(n) = f(n)^{k(n)}$ for a $k \in O(g).$

Explain whether these statements are true or false.

a) $n + O(n) = O(n+n)$

b) $O(n^1) = n^{O(1)}$

c) $O(2^n) = 2^{O(n)}$


I tried to understand these equations.

a) for any function $p(n) \in O(n)$ there is a function $q(n) \in O(n+n)$ so that $n + p(n) = q(n)$

$p(n) \leq c*n$ and $q(n) \leq c'*(n+n)$

b)for any function $p(n) \in O(n^1)$ there is a function $q(n) \in O(1)$ so that $p(n) = n^{q(n)}$

$p(n) \leq c * n$ and $q(n) \leq c'*1$

c)for any function $p(n) \in O(2^n)$ there is a function $q(n) \in O(n)$ so that $p(n) = 2^{q(n)}$

$p(n) \leq c*2^n$ and $q(n) \leq c' * n$

Is this correct so far? How do I go on from here?