|
|
1
11
对于固定长度的数字,您不局限于基于比较的排序算法,所以
|
|
2
3
introsort
,解决了快速排序问题
insertion sort 当你当前所在序列的元素数很小时(比如说16个)。 这就是introsort的样子:
还有一个选择 radix sort |
|
|
3
1
如果你想在排序算法上有一个直观的表现,请访问这个奇妙的网站: 你会觉得在不同的情况下,合并排序效果最好,但我最喜欢的是合并排序,尽管它并不比快速排序好多少。 |
|
|
4
1
从理论上讲,您可以使用 big O notation ,它让您比较哪种算法对“几乎无限”问题更快。在实践中,在大多数情况下,这是一个非常好的起点来比较算法在现实生活中的表现。
总而言之,我认为快速排序对于随机浮点数来说会更快,尽管只看O表示法似乎更糟——因为您将得到预期的O(n logn),并且它的常量将小于合并排序。 |
|
|
5
1
需要注意的一点是,如果您的集合中有任何一个是nan,则该集合没有排序,某些排序算法可能会给出意外的结果,甚至崩溃。 我认为在分类之前最好确保你的数字都不是nan。
另一方面,inf和-inf不是问题。 |