【问题标题】:Can someone explain to me radix-sort?有人可以向我解释基数排序吗?
【发布时间】:2015-03-29 15:55:34
【问题描述】:

我正在尝试在 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时,那是什么意思?

【问题讨论】:

    标签: sorting radix-sort array-algorithms


    【解决方案1】:

    在基数排序中,元素根据第 i^ 位排序。它通过查看数字 1 开始对数组 A 进行排序,然后是 2,...直到数字 d。

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

    迭代 1 (i=1):A = {241,732,423}

    迭代 2 (i=2):A = {423,732,241}

    迭代 3 (i=3):A = {241,423,732} --sorted**

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-08
      • 2012-04-09
      • 2021-02-18
      • 2010-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多