Why is $3^n = O(2^n)$ false but $2^n = O(3^n)$ true?

1.1k Views Asked by At

I got confused by the following prove showing that $3^n = O(2^n)$:

$3^n \leq c \times 2^n$

$$\left(\frac32\right)^n \leq c$$

$$n \leq \frac{\log_2c}{\log_2(3/2)}$$

Which proves the statement to be false. But if I use the same steps for $2^n = O(3^n)$ don't I also prove this statement to be false:

$$2^n \leq c \times 3^n$$

$$\left(\frac23\right)^n \leq c$$

$$n \leq \frac{\log_2c}{\log_2(2/3)}$$

Where am I making the mistake? Since $2^n = O(3^n)$ should be true.

2

There are 2 best solutions below

0
On BEST ANSWER

Notice that $\log_2 \left( \frac32\right)$ is a positive but $\log_2 \left( \frac23\right)$ is a negative number. Remember to switch the sign as you divide by a negative number.

0
On

Hint. Observe that $$ \lim_{ n \to \infty} \left(\frac{3}{2}\right)^n=\infty,\qquad \left(\left|\frac{3}{2}\right|>1\right), $$ whereas $$ \lim_{ n \to \infty} \left(\frac{2}{3}\right)^n=0,\qquad \left(\left|\frac{2}{3}\right|<1\right). $$