Question: The code below searches an unsorted array, A, for a given value. It returns the index of the value if it is present. Otherwise it
The code below searches an unsorted array, A, for a given value. It returns the index of the value if it is present. Otherwise it returns -1. Suppose before we call linear Search we randomly permute (i.e., reorder) the elements in A. In the following problem, we will find the expected asymptotic runtime of linear Search. (1) What is the best case asymptotic runtime of linear Search on an array of n elements? What index must val be located at to elicit this runtime? (2) What is the worst case asymptotic runtime of linear Search on an array of n elements? What index must val be located at to elicit this runtime? (3) Let X_j be the random variable which, given an permutation of the elements in our array, is 1 if index A[j] will be checked in our linear Search for that permutation and 0 otherwise. What is the expected value of X_j? (4) Let X be the random variable which, given an permutation of the elements in our array, is the number of elements of A which will be checked in our linear Search for that permutation. Define X using n copies of the random variable defined in the previous step. (5) Compute the expected value of X for using the linearity of expectation. Given this, what is the expected asymptotic runtime of linear Search
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
