MSD与LSD基数排序

时间:2014-01-12 14:46:39

标签: algorithm sorting radix-sort

我不确定为什么会使用LSD基数排序。

MSD的优点:

  1. 它可以处理可变长度的字符串
  2. 并不总是需要扫描整个字符串(它可以更快地决定订单)
  3. 可以使用插入排序来规避计数排序的缺点。

3 个答案:

答案 0 :(得分:7)

LSD基数排序优于MSD基数排序的一个优点是LSD基数排序是一种稳定排序 - 如果有多个元素要使用相同的键排序,它们将在排序输出中以相同的相对顺序结束你运行LSD基数排序,但如果你运行MSD基数排序可能不会。如果您正在对键是字符串或整数的键/值对进行排序,并且您希望保留原始的相对排序,则LSD基数排序将优于MSD基数排序。

希望这有帮助!

答案 1 :(得分:1)

@templatetypedef总结得很漂亮 MSD基数排序对于lexicographic order中的键排序很有用 看一下wikipedia的工作示例和更清晰的信息。

答案 2 :(得分:1)

对我来说,LSD基数排序的最大优势在于速度,因为它是无分支算法。对于相对较短的固定长度密钥,它使LSD基数排序最快的排序算法。 LSD的稳定性也很不错。