算法导论之线性时间排序(1)

来源:互联网 发布:网络录音电话 编辑:程序博客网 时间:2024/05/21 07:04

基数排序文档



基数排序是一种用在卡片排序机上的算法。

类似如下图中所示,一堆数字,先排最低位,再排次低位,最后再排最高位。


为了保证基数排序的正确性,一位数排序算法必须是稳定的。

基数排序的算法十分直观。在下面的代码中,我们假设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很多时候用的是计数排序。这就涉及到了和计数排序一样的问题,占用主存容量的问题。因此当主存容量比较宝贵的时候,我们可能会更倾向于像快速排序那样的原址排序。

0 0
原创粉丝点击