'Finding Big O of the Harmonic Series
Prove that
1 + 1/2 + 1/3 + ... + 1/n is O(log n).
Assume n = 2^k
I put the series into the summation, but I have no idea how to tackle this problem. Any help is appreciated
Solution 1:[1]
This follows easily from a simple fact in Calculus:
and we have the following inequality:
Here we can conclude that S = 1 + 1/2 + ... + 1/n is both ?(log(n)) and O(log(n)), thus it is ?(log(n)), the bound is actually tight.
Solution 2:[2]
Solution 3:[3]
If the problem was changed to :
1 + 1/2 + 1/4 + ... + 1/n
series can now be written as:
1/2^0 + 1/2^1 + 1/2^2 + ... + 1/2^(k)
How many times loop will run? 0
to k = k + 1
times.From both series we can see 2^k = n
. Hence k = log (n)
. So, number of times it ran = log(n) + 1 = O(log n)
.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | chiwangc |
Solution 2 | Sushovan Mandal |
Solution 3 | Sahim Salem |