基数排序文档
基数排序是一种用在卡片排序机上的算法。
类似如下图中所示,一堆数字,先排最低位,再排次低位,最后再排最高位。
为了保证基数排序的正确性,一位数排序算法必须是稳定的。
基数排序的算法十分直观。在下面的代码中,我们假设n个d位的元素存放在数组A中,其中第1位是最低位,第d位是最高位。
RADIX-SORT(A,d):
for i=1 to d
use a stable sort tosort array A on digit i
基数排序中,所用的a stable sort很多时候用的是计数排序。这就涉及到了和计数排序一样的问题,占用主存容量的问题。因此当主存容量比较宝贵的时候,我们可能会更倾向于像快速排序那样的原址排序。