算法一直是计算机科学中非常核心的内容。学习大黑书可以让我们的年轻人得到充足的力量(也就是头发少),在程序的海洋中快乐的遨游。排序算法是算法的基础和核心内容,快速排序是比较排序中的佼佼者。今天我们就一起来探索一下快速排序。普通快速排序快速排序是一种经典的分而治之算法。解决分而治之问题的三个步骤是分解、分解和合并。拆开来看看quicksort的基本思想:分解:将输入数组A[l..r]分成两个子数组的过程。选择一个p,使得A分为三个部分,A[l..p-1]、A[p]和A[p+1..r]。并使A[l..p-1]中的元素小于等于A[p],且A[p]小于等于A[p+1..r]中的所有元素。解决方法:递归调用快速排序解决分解中除法产生的两个子序列的排序。归并:因为子数组都是原位排序的,所以不需要进行归并操作,数组A[p..r]已经有序了。算法介绍中给出了简单易懂的伪代码,我这里直接给出Python的实现代码defQuick_Sort(A,p,r):ifp
