Answers to Self-Review Exercises

  1. 18.1 a) 16, because an O(n2) algorithm takes 16 times as long to sort four times as much information. b) O(n log n).

  2. 18.2 Both of these algorithms incorporate “halving”—somehow reducing something by half. The binary search eliminates from consideration one half of the array after each comparison. The merge sort splits the array in half each time it’s called.

  3. 18.3 The insertion sort is easier to understand and to program than the merge sort. The merge sort is far more efficient (O(n log n)) than the insertion sort (O(n2)).

  4. 18.4 In a sense, it does not really sort these two subarrays. It simply keeps splitting the original array in half until it provides a one-element subarray, which is, of course, sorted. It then builds up the original two subarrays by merging these one-element arrays to form larger subarrays, which are then merged until the whole array has been sorted.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset