快速排序

来源:互联网 发布:衣服淘宝站水煮鱼皇后 编辑:程序博客网 时间:2024/06/06 09:38

看枢轴(pivot)的选择策略。

最坏的情况会在下面的情况下发生

1)数组已经是正序(same order)排过序的。 
2)数组已经是倒序排过序的。 
3)所有的元素都相同(1、2的特殊情况)

这个问题可以通过要么选择一个随机的枢轴,或者选择一个分区中间的下标作为枢轴,或者(特别是对于相比更长的分区)选择分区的第一个、中间、最后一个元素的中值作为枢轴。有了这些修改,那快排的最差的情况就不那么容易出现了,但是如果输入的数组最大(或者最小元素)被选为枢轴,那最坏的情况就又来了。


0 0