1. Suppose we choose the element in the middle position of the array as pivot. Does this make it unlikely that quicksort will require quadratic time?
2. Construct a permutation of 20 elements that is as bad as possible for quicksort using median-of-three partitioning and a cutoff of 3.
3. The quicksort in the text uses two recursive calls. Remove one of the calls as follows:
a. Rewrite the code so that the second recursive call is unconditionally the last line in quicksort. Do this by reversing the if/else and returning after the call to insertionSort.
b. Remove the tail recursion by writing a while loop and altering left.