Question
Consider the following pseudocode for calculating ab (where a and b are positive integers) FastPower(a,b) : if b = 1 return a else c :=
Consider the following pseudocode for calculating ab (where a and b are positive integers)
FastPower(a,b) : if b = 1 return a else
c := a*a ans := FastPower(c,[b/2]) if b is odd return a*ans else return ans end
Here [x] denotes the floor function, that is, the largest integer less than or equal to x.
Now assuming that you use a calculator that supports multiplication and division (i.e., you can do multiplications and divisions in constant time), what would be the overall asymptotic running time of the above algorithm (as a function of b)?
A. O(b log (b))
B. O(b)
C. ?(b^(1/2))
D. O(log (b))
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started