35. Among Selection Sort, Insertion Sort, Mergesort, Quicksort, and Heapsort, which algorithm would you choose in each list-sorting situation below? Justify your answers. (a) The list has several hundred records. The records are quite long, but the keys are very short (b) The list has about 45,000 records. It is necessary that the sort be completed reasonably quickly in all cases. There is barely enough memory to hold the 45,000 records (c) The list has about 45,000 records, but it starts off only slightly out of order. (d) The list has about 25,000 records. It is desirable to complete the sort as quickly as possible on the average, but it is not critical that the sort be completed quickly in every single case. 
Sorting Techniques for each Scenario:
 1. Since the number of records in first case is smaller insertion sort is an optimal solution.
 2. Quick sort will be solution for second case, A good implementation uses O(log N) auxiliary storage in the form of stack space for recursion.
 3. Since there is no stable flow in the records order, which focus of worst case scenario, Heap sort will be the solution here.
 4. Merge sort is the option for the fourth case scenario.