快速排序的基本思路
以待排序列中的任意一个元素(例如取第一个)为中心,将所有较小(或相等)的元素放在它的前面,将所有较大的元素放在它的后面,形成左右子表;
然后重新选择每个子表的中心元素,按照这个规则进行调整,直到每个子表只有一个元素。至此,它便是一个有序的序列。
快速排序体现了分而治之的思想(分治法)。
优点:速度快,每趟可以确定不止一个元素的位置,而且呈指数增加。
前提:顺序存储结构
若待排记录的初始状态为按关键字有序时,快速排序将蜕化为冒泡排序,最坏时间复杂度为O(),最好时间复杂度为O()。
快速排序是一种不稳定的排序方法。
快速排序性能
快速排序的过程
1.找到分界点x(诸如q[L],q[(L+R)/2],q[R]都行)
2.使左边所有数L<=X,右边所有数R>=X(和X相等的数在左右两边都有可能)
3.递归排序礼L,递归排序R
快速排序N-S图
祝大家元旦节快乐!
夕弦的元旦贺图