基数排序字符串

Posted

技术标签:

【中文标题】基数排序字符串【英文标题】:Radix sorting strings 【发布时间】:2014-03-03 00:43:26 【问题描述】:

本周,我们学习了各种不同的内容。基数排序的效率是惊人的。然而;它仅限于某些数据。我想知道它是否可以与字符串一起使用。例如,“星期一”、“星期五”和“星期日”是我的数据集。有谁知道如何使用 Radix sort 对它们进行排序?或者任何人看过任何关于使用 Radix 对字符串进行排序的文章,与我分享。

【问题讨论】:

看看这个:***.com/questions/9638602 其实我之前也找到过这个。但答案并不简单,即使提供了链接。 (亲自)。因此,我再次提出这个问题。不过谢谢。 【参考方案1】:

是的,字符串可以使用基数排序进行排序。事实上,基数排序对字符串非常有效!

给定一组字符串,您可以先按字符串的第一个字母对字符串进行基数排序(使用您喜欢的任何排序算法,例如计数排序甚至插入排序),然后将字符串按第一个字母分组字母,然后递归地对每组中的所有字符串进行排序。 (这将是最高有效位基数排序)。您还可以进行最低有效位基数排序。想象一下,所有字符串都用一些特殊字符 ❤ 填充到最大字符串的长度,该字符按字典顺序排列在所有其他字符之前。然后只做一个常规的 LSD 基数排序。完成后,一切都会按顺序排列!

【讨论】:

以上是关于基数排序字符串的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#十大经典排序之:基数排序 |计数排序

如何使用分布排序(基数排序等)对字符串进行排序?

基数排序的具体实现及其原理

排序算法之基数排序

排序算法之基数排序

算法基数排序