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);
}
我完全理解归并排序、冒泡排序的复杂度,但是在这个算法中我很困惑。这个算法的复杂度是什么?有人能解释一下吗?