(1)Counting Sort:平均时间O(n+2^k),最坏时间O(n+2^k),空间复杂度O(n+2^k),稳定。条件:n<<2^k
其实就是用数组的下标记录排序对象的值!
$ Counting-Sort(A,B,k)
for i=0 to k do C[i]=0
for j=1 to length[A] do C[A[j]]++
//C[i]现在包含值等于i 的元素个数
for i=1 to k do C[i]+=C[i-1]
//C[i]现在包含小于等于i 的元素个数
for j=length[A] to 1 do
B[C[A[j]]] = A[j]
C[A[j]]--
(2)基数排序和桶排序
(3)待续