HW5 Solutions

HW5 Solutions - Homework #5 Solutions 1. We are given a...

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

View Full Document Right Arrow Icon

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

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Homework #5 Solutions 1. We are given a sorted array A [1 ..n ], composed of distinct integers (the values can be neg- ative). We want to determine if there is an index i such that A [ i ] = i . Give an O (log n ) algorithm to solve this problem, and justify its correctness. Solution If A [ n 2 ] = n 2 , we are done. If A [ n 2 ] < n 2 , then the left half of the array is irrelevant since the integers are distinct and strictly increasing, so recursively solve the problem on the right half of the array. Otherwise, recursively solve the problem on the left half of the array. The recur- rence relation for this problem will then be T ( n ) = T ( n 2 ) + (1), which means the running time is (log n ). 2. Suppose wed like to implement a sorting variant where every element is compared only a small number of times. Note that while Merge Sort has O ( n log n ) comparisons, a particular element may be compared n or more times. (a) Devise a divide-and-conquer algorithm to merge two sorted arrays of length n , which guarantees that every element is included in at most O (log n ) comparisons. Hint: Use binary search to locate the median of one array in the other. Solution Look at middle element of the first array a [ n 2 ] (well refer to this element as the pivot), then do a binary search in the second array until we find the location j such that b [ j- 1] a [ n 2 ] b [ j ]. Now we must recursively merge two smaller subproblems: we must]....
View Full Document

Page1 / 2

HW5 Solutions - Homework #5 Solutions 1. We are given a...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online