答案取决于选择支点的策略。在早期版本的”快速排序”中, 最左边(或最右边)的元素被选择为枢轴, 在以下情况下会发生最坏的情况。
1)数组已按相同顺序排序。
2)数组已经按照相反的顺序排序。
3)所有元素都相同(情况1和2的特殊情况)
由于这些情况是非常常见的用例, 因此可以通过为枢轴选择一个随机索引, 选择分区的中间索引或(尤其是对于较长的分区)选择第一个, 中间和最后一个元素的中位数来轻松解决此问题。枢轴的分区。通过这些修改, 快速排序的最坏情况发生的机会较少, 但是如果输入数组使得始终选择最大(或最小)元素作为枢轴, 则最坏情况仍然会发生。
参考文献:
http://en.wikipedia.org/wiki/Quicksort
来源:
https://www.srcmini02.com/69526.html