九大排序算法及其Python实现之快速排序
输入:n个数的一个序列 (A[1..n]) 输出:输入序列的一个排序,满足b1≤b2≤...≤bn。
思想
分治法: 1. 分解:数组A[p..r]被划分为两个(可能为空)子数组A[p..q-1]和A[q+1..r],使得A[p..q-1]中的每一个元素都小于等于A[q],而A[q]也小于等于A[q+1..r]中的每个元素。其中,计算下标q也是划分过程的一部分(PARTITION(A, p, r)) 2. 解决:通过递归调用快速排序,对子数组A[p..q-1]和A[q+1..r]进行排序 3. 合并:因为子数组都是原址排序,所以不需要合