In this post, I discuss the implementation of function
double pow( double, int ).
Let's first consider the most simple case: y is a positive integer.
The naive and straightforward approach is working with a loop like following.
Next, we need consider all possible integers for y.
We can write a recursive function to calculate x raised to the power y.
The time complexities for all above 3 implementations are \(O(n)\). Use of a temporary variable would help.
Now, the time complexity reduces to \(O(\log n)\). How about non-recursive version? Yes, we can do it.
Actually, we can have one more implementation with bit operations!! Sounds amazing!
No comments:
Post a Comment