以下哪项对典型 QuickSort 的更改平均提高了其性能,并且通常在实践中完成。
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)
(一) 1 和 2
(B) 2、3 和 4
(C) 1、2 和 3
(D) 2、3 和 4答案: (C)
说明:第4次优化一般不用,它把最坏情况的时间复杂度降低到O(nLogn),但是隐藏常数非常高。
这个问题的测验