摘要:
快速排序算法是对包含n个数的输入数组进行排序,算法的期望时间为θ(nlgn),最坏的运行时间为θ(n2),并且其使用就地排序。举个例子 对数组A[p..r]排序可分成以下三个步骤:分解:数组A[p..r]划分成A[p..q-1]和A[q+1..r],使得A[p..q-1]中的每个元素都小于等于A[q],而且小于等于A[q+1..r]中的元素;解决:通过递归调用快速排序,对数组A[p..q-1]和A[q+1..r]进行排序;合并:因为两个数组时就地排序,可以将它们直接合并下面是快速排序的过程QUICKSORT(A, p, r)if p < r then q ← PARTITION(A, p 阅读全文