big-oproof

Big Oh Notation O((log n)^k) = O(log n)?


In big-O notation is O((log n)^k) = O(log n), where k is some constant (e.g. the number of logarithmic for loops), true?

I was told by my professor that this statement was true, however he said it will be proved later in the course. I was wondering if any of you could demonstrate its validity or have a link where I could confirm if it is true.


Solution

  • (1) It is true that O(log(n^k)) = O(log n).

    (2) It is false that O(log^k(n)) (also written O((log n)^k)) = O(log n).

    Observation: (1) has been proven by nmjohn.

    Exercise: prove (2). (Hint: f(n) = log^2 n is O(log^2 n). Is it O(log n)? What is a sufficiently large constant c such that, for all n greater than n0, c log n > log^2 n?)

    This is more of a CS question though. Future questions on this topic should be asked on the SE site.