当整数从[1,100]范围内时,对100万个整数进行排序的最快方法是什么?

wiz*_*bus 22 sorting algorithm

注意:我已经考虑了Radix排序,桶排序,计数排序.

反正有没有实现大O(n)?

Mar*_*ers 67

您可以使用计数排序.

计数排序(有时称为超排序或数学排序)是一种排序算法(像桶排序一样)利用了解要排序的数组中的数字范围(数组A).

计数排序是一种稳定的排序,其运行时间为Θ(n + k),其中n和k分别是数组A(输入数组)和C(计数数组)的长度.为了使该算法有效,k必须不大于n.

在这种情况下,k为100,n为1000000.

  • +1盲目明显,但从未见过它.谢谢. (2认同)

Jer*_*fin 8

在这种情况下,计算排序是明显的选择.是的,正确实施它应该具有线性复杂性.


sec*_*ond 6

如何计算每个整数的出现然后打印它们.听起来像O(n)

  • 是的,这正好算一下.这表明大多数算法并不难; 你可以自己想出来.:-) (3认同)