Question
Suppose you have two separate sorted arrays of numbers, A[1 m] and B[1 n] , where all the numbers in A and B are distinct.
Suppose you have two separate sorted arrays of numbers, A[1 m] and B[1 n], where all the numbers in A and B are distinct. Given an integer k where 1 k m + n, design an algorithm that finds the kth smallest element in the merge of arrays A and B in O(lg k) time. (Note: Explicitly merging the sorted arrays A and B will take (m + n) time, which is too much. Your algorithm, from the point it receives the unmerged arrays A and B, to the point at which it outputs the kth smallest element, must run in O(lg k) time.) In your solution, be sure to:
a. present your algorithm using prose and pictures
b. analyze the running time of your algorithm
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started