摘要: 快速排序算法是对包含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 阅读全文
posted @ 2013-01-15 23:58 北纬以北 阅读(129) 评论(0) 推荐(0) 编辑