Question: Suppose we are given a sorted array A [ 1 . . . n ] , and we wish to determine where in A the

Suppose we are given a sorted array A[1... n], and we wish to determine where in A the element x belongsthat is, the index i such that A[i 1] x = A[i].(Binary Search solves this problem.) Heres a sketch of an algorithm rootSearch to solve this problem:
if n is small (say, less than 100), find the index by brute force. Otherwise:
define mileposts := A[n], A[2n], A[3n],..., A[n] to be a list of every (n)th element of A.
recursively, find post := rootSearch(mileposts, x).
return rootSearch(A[(post 1)n,..., postn], x).
(Note that rootSearch makes two recursive calls.) Find a recurrence relation for the running time of this
algorithm, and solve it.A van Emde Boas tree is a recursive data structure (with somewhat similar inspiration to Q3 above)
that allows us to insert,
delete, and look up keys drawn from a set U=1,2,dots,u quickly. (It solves the same problem that
binary search trees solve, but our running time will be in terms of the size of the universe U rather
than in terms of the number of keys stored.) A van Emde Boas tree achieves a running time given
by:
T(u)=T(?2u)+1 and T(1)=1
Solve this recurrence.
(Hint: it is much easier using a change of variable method e.g. define S(k)=T(2k). Solving S(k)
is easier!)
 Suppose we are given a sorted array A[1... n], and we

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!