快速排序三种实现方式及其优化
快速排序
1.关于快速排序
快速排序是分治法的一个应用。
根据分治法的思想,快速排序算法可描述为:
**分解:**数组A[p…r]被划分为两个子数组A[p…q-1]和A[q+1,r],使得A[q]为大小居中的数,左侧A[p…q-1]中的每个元素都小于等于它,而右侧A[q+1,r]中的每个元素都大于等于它。其中计算下标q也是划分过程的一部分。
**解决:**通过递归调用快速排序,对子数组A[ p…q-1]和A[q+1,r]进行排序。
合并∶因为子数组都是原址排序的,所以不需要合并,数组A[p…r]已经有序
原创
2022-01-11 14:27:55 ·
1235 阅读 ·
0 评论