logo CodeStepByStep logo


Language/Type: C++ binary search searching
Related Links:
Author: Marty Stepp (on 2016/06/16)

Suppose we are performing a binary search on a sorted vector called numbers initialized as follows:

// index     0   1   2   3   4   5   6   7   8   9  10  11  12  13
Vector<int> numbers;
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.

<p> Now suppose we are performing both an iterative (loop-based) sequential search and then a recursive binary search on the same vector. The sequential search is a standard version that does not take any advantage of the sortedness of the vector, simply looking each element in order from the start to the end of the vector. </p> <p> Suppose we are searching the vector for the value 25. Also suppose that we are operating on a special computer where reading an element's value in the vector (such as examining the value of numbers[0]) costs 7 units of time; calling any function costs 10 units of time; and all other operations are essentially 0 cost. What is the total "cost" of running a sequential search and recursive binary search over this vector of data, searching for the value 25? </p>
indexes examined
value returned

You must log in before you can solve this problem.

Log In

If you do not understand how to solve a problem or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect problems/tests, etc.), please

Is there a problem? Contact a site administrator.

© Marty Stepp, all rights reserved.