§08 排序算法
基数排序
不比较大小,按数字的每一位分桶收集(LSD:从个位到最高位)。稳定,O(d·n)。 观察每个元素如何按 桶号 进出数组。
基数排序
伪代码
1
procedure radixSort(a, n)
2
d = 最大位数
3
for k = 1 to d do // 从最低位到最高位
4
初始化 10 个桶
5
for i = 1 to n do
6
桶[a[i] 的第 k 位数字].push(a[i])
7
end for
8
按桶顺序收集回数组 a
9
end for
10
end procedure