GATE | GATE-CS-2015 (Mock Test) | Question 9

Which of the following changes to typical QuickSort improves its performance on average and are generally done in practice.

1) Randomly picking up to make worst case less 
   likely to occur.
2) Calling insertion sort for small sized arrays 
   to reduce recursive calls.
3) QuickSort is tail recursive, so tail call 
   optimizations can be done.
4) A linear time median searching algorithm is used 
   to pick the median, so that the worst case time 
   reduces to O(nLogn)

(A) 1 and 2
(B) 2, 3, and 4
(C) 1, 2 and 3
(D) 2, 3 and 4

Answer: (C)

Explanation: The 4th optimization is generally not used, it reduces the worst case time complexity to O(nLogn), but the hidden constants are very high.

Quiz of this Question

My Personal Notes arrow_drop_up