为什么R使用基数排序?

8
根据我的理解,R的order()方法默认使用基数排序。虽然这并非一直如此(参见news),但Matt Dowle提出了this presentation建议进行更改,因为经验证明基数排序表现良好。
我的问题是,实践中为什么基数排序比其他排序算法更好?维基百科并没有强有力的支持基数排序的论据。此外,如果基数排序确实是最好的排序算法,为什么其他流行的语言/工具如Python和pandas不默认使用基数排序呢?

1
{btsdaf} - Marcelo Ventura
1个回答

3
正如您所知,一般情况下并没有最佳的排序算法。一个解决方案可以是基数排序是一种稳定的排序。因此,像在R中保持绑定情况的顺序可能很重要,他们实现了一种稳定的排序方法。
您可以在此处了解更多关于稳定性,还可以在这篇文章中找到更多信息。
另一个要点是,由于稳定性在不同情况下可能很重要,您应该在这里找到最好的稳定排序算法。

B

  • 块排序
  • 冒泡排序
  • 桶排序

C

  • 级联归并排序
  • 鸡尾酒排序
  • 计数排序
  • 立方体排序

G

  • 侏儒排序

I

  • 插入排序

L

  • 库排序

M

  • 归并排序

O

  • 奇偶排序
  • 振荡归并排序

P

  • 鸽巢排序
  • Proxmap排序

R

  • 基数排序

T

  • Timsort

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接