Question: You are interested in analyzing some hard-to-obtain data from two separate databases. Each database contains n numerical values so there are 2n values total and
You are interested in analyzing some hard-to-obtain data from two separate databases. Each database contains n numerical values so there are 2n values total and you may assume that no two values are the same. Youd like to determine the median of this set of 2n values, which we will define here to be the n th smallest value. However, the only way you can access these values is through queries to the databases. In a single query, you can specify a value k to one of the two databases, and the chosen database will return the k th smallest value it contains. Since queries are expensive, youd like to compute the median using as few queries as possible. Give an algorithm that finds the median value using at most O(log n) queries.
Give a sketch of the algorithm with an explanation and show the running time complexity O(log n) by building a recurrence relation. We can consider the two data sets (or databases) virtually sorted through queries for finding the kth smallest data item, so lets denote the kth smallest data item of each database as A[k] and B[k] where A and B denote the two databases of size n each. Hint: the size of each data set (or database) can be reduced to half at each recursion.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
