在假设整数遵循均匀分布的情况下,对随机整数数组进行排序的最快方法是什么?

时间:2012-10-28 21:04:43

标签: algorithm

就像标题所说的那样。整数是< 0,10 ^ 18>

2 个答案:

答案 0 :(得分:6)

Flashsort是一种排序算法,它利用已知统一分布中的数据O(n)

答案 1 :(得分:1)

如果键总是整数,则基数排序比普通的基于比较的排序更有效,例如快速排序,缩放为O(kN),其中N是项目数,k是以位为单位的平均密钥长度。因此,这是您排序的整数的线性,并且当N变得足够大时将胜过快速排序。有关解释和示例C ++实现,请参阅http://en.wikipedia.org/wiki/Radix_sort