空间复杂度
最优的情况下空间复杂度为:O(logn) ;每一次都平分数组的情况
最差的情况下空间复杂度为:O( n ) ;退化为冒泡排序的情况
首先就地快速排序使用的空间是O(1)的,也就是个常数级;
**而真正消耗空间的就是递归调用了,因为每次递归就要保持一些数据;**
#快速排序
int Partition(int R,int low,int high)
{
int i,j;
i=low;
j=high;
R[0]=R[i];
do
{
while((R[j]>=R[0])&&(j>i))
j--;
R[i]=R[j];
while((R[i]=<R[0])&&(i<j))
i--;
R[j]=R[i];
}while(i!=j);
R[i]=R[0];
return i;
}
void QuickSort(int R[],int low,high)
{
int i;
while(low<high)
{
i=Partition(R,low,high);
QuickSort(R,low,i-1);
QuickSort(R,i+1,high);
}
}