为啥基数排序不能首先按最高有效数字进行桶排序[重复]

Posted

技术标签:

【中文标题】为啥基数排序不能首先按最高有效数字进行桶排序[重复]【英文标题】:Why does radix sort can't bucket-sort by the most significant digit firstly [duplicate]为什么基数排序不能首先按最高有效数字进行桶排序[重复] 【发布时间】:2017-03-27 09:52:00 【问题描述】:

作为标题,我无法理解首先按最低有效位进行桶排序时的错误排序。

【问题讨论】:

尝试手工处理基数排序的 [12, 21]。 【参考方案1】:

最高有效位 (MSD) 基数排序可用于按字典顺序对键进行排序。与最低有效位 (LSD) 基数排序不同,最高有效位基数排序不会是 stable sort,即它不一定保留重复键的原始顺序。

当处理到达键的唯一前缀时,MSD 基数排序停止重新排列键的位置。

你也可以看到:most significant v.s. least significant radix sort

【讨论】:

以上是关于为啥基数排序不能首先按最高有效数字进行桶排序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

C++ 简单实现基数排序(list容器)

为啥我的分拣程序这么慢? (java中的基数/桶排序)

从左到右基数排序

排序算法——基数排序

9经典算法基数排序

重复造轮子系列--桶排序