Problem
1. One way to improve the quick sort is to use an insertion sort on lists that have a small length (call it the "partition limit"). Why does this make sense? Re-implement the quick sort and use it to sort a random list of integers. Perform an analysis using different list sizes for the partition limit.
2. Implement the median-of-three method for selecting a pivot value as a modification to quick_sort. Run an experiment to compare the two techniques.