This document describes the divide-and-conquer algorithm design strategy and provides examples of its use. It discusses:
1) The divide-and-conquer strategy involves dividing a problem into smaller subproblems, solving those subproblems recursively, and combining the solutions.
2) Examples where divide-and-conquer is applied include sorting algorithms like mergesort and quicksort, binary tree traversals, binary search, and multiplying large integers.
3) Analysis techniques like recurrence relations and the master theorem are introduced for analyzing divide-and-conquer algorithms' run times. Specific algorithms like mergesort, quicksort, and binary search are analyzed in more detail.
Go over this example in detail, then do another example of merging, something like:
(1 2 5 7 9)
(3 4 6)
even if not analyzing in detail, show the recurrence for mergesort in worst case:
T(n) = 2 T(n/2) + (n-1)
worst case comparisons for merge
<number>
Unfortunately, d is not necessarily the smallest distance between all pairs of points in S1 and
S2 because a closer pair of points can lie on the opposite sides separating the line. When we
combine the two sets, we must examine such points. (Illustrate this on the diagram)