Quicksort最坏的情况何时发生?

答案取决于选择支点的策略。在早期版本的”快速排序”中, 最左边(或最右边)的元素被选择为枢轴, 在以下情况下会发生最坏的情况。

1)数组已按相同顺序排序。

2)数组已经按照相反的顺序排序。

3)所有元素都相同(情况1和2的特殊情况)

由于这些情况是非常常见的用例, 因此可以通过为枢轴选择一个随机索引, 选择分区的中间索引或(尤其是对于较长的分区)选择第一个, 中间和最后一个元素的中位数来轻松解决此问题。枢轴的分区。通过这些修改, 快速排序的最坏情况发生的机会较少, 但是如果输入数组使得始终选择最大(或最小)元素作为枢轴, 则最坏情况仍然会发生。

参考文献:

http://en.wikipedia.org/wiki/Quicksort

来源:

https://www.srcmini02.com/69526.html

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?