有人能解释一下radix-sort吗?

时间:2015-03-29 15:55:34

标签: sorting radix-sort array-algorithms

我正在尝试在javascript中实现基数排序。但是,我不知道怎么做基数排序!我有这个伪代码(来自算法简介):

RADIX-SORT(A, d)
    for i = 1 to d
        use a stable sort to sort array A on digit i

然而,当它说A on digit i时,那是什么意思?

1 个答案:

答案 0 :(得分:1)

在基数排序中,元素根据第i个数字排序。它通过查看数字1,然后是2,...到数字d。

开始排序数组A.

例如:A = {423,241,732}

  

迭代1(i = 1):A = {24 1 ,73 2 ,42 3 }

     
    

迭代2(i = 2):A = {4 2 3,7 3 2,2 4 1}

         
      

迭代3(i = 3):A = { 2 41, 4 23, 7 32} - 分类** < / p>     

  

这需要线性时间来对n个元素的数组进行排序(取决于内部使用的稳定排序)。这在O(n + d)时间内进行排序,其中d是元素中的位数。

我们可以使用任何稳定的排序(计算排序或任何其他)来对元素进行排序。