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