1

In one of the algorithms textbooks I was reading, it states that $O(3^{\log_2n})$ can be rewritten as $O(n^{\log_23})$. Why is this the case?

Millardo Peacecraft
  • 1,490
  • 1
  • 12
  • 26
  • Please note that you are able to accept answers and also to upvote answers you think have shown effort and are helpful. (Not just answers to your own questions but also others on the site.) – TooTone Mar 17 '14 at 12:28

2 Answers2

6

$\textbf{Hint}: x^{\log_by}=y^{\log_b x}$

Millardo Peacecraft
  • 1,490
  • 1
  • 12
  • 26
3

Recall the following log rule:

$$\log_2 (x^k) = (k)(\log_2 x) \tag{1}$$

Now to prove that $3^{\log_2 n} = n^{\log_2 3}$, it suffices to prove that their logs (base $2$) are equal. Indeed, observe that: \begin{align*} \log_2(3^{\log_2 n}) &= (\log_2 n)(\log_2 3) &\text{by (1), where $x = 3$ and $k = \log_2 n$} \\ &= (\log_2 3)(\log_2 n) &\text{by the commutativity of multiplication} \\ &= \log_2(n^{\log_2 3}) &\text{by (1), where $x = n$ and $k = \log_2 3$} \\ \end{align*} as desired. $~~\blacksquare$

Adriano
  • 41,576