template<class T> void sSort(T *A, int first, int last)
{
if(A[first]>A[last])
swap(A[first],A[last]);
if(first+1>=last)
return;
double k = floor((last-first+1)/3);
sSort(A,first,last-k);
sSort(A,first+k,last);
sSort(A,first,last-k);
}
我完全理解mergeSort,bubbleSort的复杂性,但我很困惑这一个。这个算法的复杂性是什么。谁能解释一下?这种排序算法的复杂性是什么?
你可以只尝试不同尺寸的几个阵列,运行它,看看时间比较数组的大小... – Mehrdad