what does it mean that the bound $2n^2 = O(n^2)$ is asymptotically tight while $2n = O(n^2)$ is not? We use the o-notation to denote an upper bound that is not asymptotically tight.
The deﬁnitions of O-notation and o-notation are similar. The main difference is that in $f(n) = O(g(n))$, the bound $0 \leq f(n) \leq cg(n)$ holds for some constant $c>0$, but in $f(n) = o(g(n))$, the bound $0 \leq f(n) \leq cg(n)$ holds for all constants $c>0$. so what is the differnce in big-O notation and small-o notation ?