For Prim's and Kruskal's Algorithm there are many implementations which will give different running times. However suppose our implementation of Prim's algorithm has runtime $O(|E| + |V|\cdot \log(|V|))$ and Kruskals's algorithm has runtime $O(|E|\cdot \log(|V|))$.

What is the base of the $\log$?

  • 8
    $\begingroup$ It doesn't matter. When they are inside O-notation like this, all logarithms with constant base are equivalent. $\endgroup$ – David Eppstein Oct 27 '12 at 21:14
  • $\begingroup$ That said, if you want to know which base the logarithm is before O-ing it away, you'd have to look/give us the specific implementation. $\endgroup$ – Raphael Nov 1 '12 at 22:49
  • $\begingroup$ See also the question Are log10(x) and log2(x) in the same big-O class of functions? $\endgroup$ – Juho Nov 1 '12 at 23:38

To expand on what David Eppstein said, you can assume it's in any base.

If the log were initially in base $b$, it is asymptotically the same as if it were in base $k$:

$$O(\log_b n) = O\left(\frac{\log_k n}{\log_k b}\right) = O(\log_k n)$$

because $k$ and $b$ are both constants; $\log_k b = O(1)$.

The logs in any two bases are the same in big-O notation.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.