Question
JAVA: Suppose we are performing a binary search on a sorted array initialized as follows: // index 0 1 2 3 4 5 6 7
JAVA:
Suppose we are performing a binary search on a sorted array initialized as follows:
// index 0 1 2 3 4 5 6 7 8 9 10 11 12 13
int[] numbers = {-23, -5, 9, 14, 15, 18, 23, 24, 25, 29, 34, 62, 85, 87};
int index = binarySearch(numbers, 25);
Write the indexes of the elements that would be examined by the binary search (the mid values in our algorithm's code) and write the value that would be returned from the search.
Now suppose we are performing both an iterative (loop-based) sequential search and then a recursive binary search on the same array. The sequential search is a standard version that does not take any advantage of the sortedness of the array, simply looking each element in order from the start to the end of the array.
Suppose we are searching the array for the value 25. Also suppose that we are operating on a special computer where reading an element's value in the array (such as examining the value of numbers[0]) costs 7 units of time; calling any method costs 10 units of time; and all other operations are essentially 0 cost. (Keep in mind that even in a non-recursive search, the cost of making the one and only call to binarySearch still counts in your total.) What is the total "cost" of running a sequential search and recursive binary search over this array of data, searching for the value 25?
indexes examined | |
value returned | |
sequential search cost | |
binary search cost |
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