Question
In C++ make a sorted integer array a [i] = i, i = 0, ..., n - 1. Let bs (a, n, x) be a
In C++ make a sorted integer array a [i] = i, i = 0, ..., n - 1. Let bs (a, n, x) be a binary search program that returns the index i of array a[0..n - 1] where a[i] = x. Obviously, bs (a, n, x) = x, and the binary search function can be tested using the loop for(j = 0; j < K; j ++) for(i = 0; i < n; i++) if(bs(a, n, i) ! = i) cout << " ERROR"; Select the largest n your software can support and then K so that this loop with an iterative version of bs runs 3 seconds or more. Then measure and compare this run time and the run time of the loop that uses a recursive version of bs. Compare these run times using maximum compiler optimization (release version) and the slowest version (minimum optimization or the debug version). If you use a laptop, make measurements using AC power, and then same measurements using only the battery. What conclusions can you derive from these experiments? Who is faster? Why?
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