### MERGESORT STUDY GUIDE

**Mergesort**. Merge left, merge right, merge.

**Merge**.
Understand how to carry out the merge operation. How many compares does it use when comparing two arrays of size N in the best case?
In the worst case?

**Mergesort order of growth**.
Understand how to show that the order of growth of the number of compares is N lg N. Understand why the entire algorithm is also
order N lg N.

**Mergesort compare bounding**.
Know why the best case is ~ 1/2 N lg N and the worst case is ~ N lg N compares.

**Mergesort properties**. Mergesort is stable (why?). Mergesort uses N extra memory (why?).
Does mergesort do particularly well on already sorted arrays? Partially ordered arrays?

### Recommended Problems

#### C level

- Give a worst case and a best case input for mergesort.

#### B level

- Textbook 2.2.22
- Textbook 2.2.8

#### A level

- Using the decision tree idea, rederive the proof that all compare-based
sorting algorithms must use at least ~ N lg N compares in the worst case. You may assume Stirling's formula.