根据我的理解,R 的 order()
方法默认使用基数排序。情况并非总是如此(参见 news),但 Matt Dowle 制作了 this presentation建议更改,因为基数排序在经验上表现良好。
我的问题是,为什么基数排序在实践中比其他排序算法更好? Wikipedia doesn't make a strong case for radix sort .另外,为什么其他流行的语言/工具(如 Python 和 Pandas)默认情况下不使用基数排序,如果它确实是最好的排序算法?
最佳答案
如您所知,一般情况下没有任何最佳排序算法。
解决方案可以是 基数排序是一种稳定排序 .因此,由于在 R 中保持平局的顺序可能很重要,因此他们实现了稳定的排序方法。
您可以找到有关稳定性的更多信息 here还有 this post .
另一点是,由于稳定性在不同情况下很重要,您应该在稳定排序算法之间找到最好的 here .
乙
C
G
我
L
男
Ø
电话
R
电话
关于r - 为什么 R 使用基数排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46920949/