{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

hw4_Solution

hw4_Solution - HW4 SOLUTION 1 chapter 5 Problem 1 Since we...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
1. chapter 5 Problem 1: Since we can find the k - th value in each database by spec- ify a value k , we consider the two databases as two sorted arrays(Querying the database by specifying k is equivalent to get the k - th value in the sorted ar- ray) and our problem is equivalent to find the median value in two sorted ar- rays. We denote A [1 , n ] , B [1 , n ] as the sorted array in increasing order and A [ k ] as the k - th element in the array. For brevity of our computation we assume that n = 2 s . First we compare A [ n/ 2] to B [ n/ 2]. Without loss of generality, assume that A [ n/ 2] < B [ n/ 2], then the elements A [1] , ..., A [ n/ 2] are smaller than n ele- ments, that is, A [ n/ 2] , ..., A [ n ] and B [ n/ 2] , ..., B [ n ]. Thus A [1] , ..., A [ n/ 2] can’t be the median of the two databases. Similarly, B [ n/ 2] , ..., B [ n ] can’t be the median of the two databases either. Note that m is the median value of A and B if and only if m is the median of A [ n/ 2] , ..., A [ n ] and B [1] , ..., B [ n/ 2](We delete the same number of numbers that are bigger than m and smaller than m ), that is, the n/ 2 smallest number of A [ n/ 2] , ..., A [ n ] and B [1] , ..., B [ n/ 2]. Hence the resulting algorithm is: Algorithm 1 Median-value( A [1 , n ] , B [1 , n ] , n ) if n = 1 then return min(A[n],B[n]); else if A [ n/ 2] > B [ n/ 2] Median-value( A [1 , n/ 2] , B [ n/ 2 , n ] , n/ 2) else if A [ n/ 2] < B [ n/ 2] Median-value( A [ n/ 2 , n ] , B [1 , n/ 2] , n/ 2) end if For running time, assume that the time for the comparison of two numbers is
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}