What is the fundamental difference between quicksort and tuned quicksort? What is the improvement given to quicksort? How does Java decide to use this instead of merge sort?
What is the fundamental difference between quicksort and tuned quicksort? What is the improvement
Share
“Tuned” quicksort just means that some improvements are applied to the basic algorithm. Usually the improvements are to try and avoid worst case time complexity. Some examples of improvements might be to choose the pivot (or multiple pivots) so that there’s never only 1 key in a partition, or only make the recursive call when a partition is above a certain minimum size.
It looks like Java only uses merge sort when sorting Objects (the Arrays doc tells you which sorting algorithm is used for which sort method signature), so I don’t think it ever really “decides” on its own, but the decision was made in advance. (Also, implementers are free to use another sort, as long as it’s stable.)