44得票3回答
为什么Smoothsort不太常见?

从阅读维基百科关于排序算法的文章来看,平滑排序算法似乎是最好的排序算法。在所有类别中,包括最佳情况、平均情况和最差情况下,它都表现出最高性能。在任何一个类别中,没有什么比它更好的。此外,它还有恒定的内存需求。唯一的缺点是它不稳定。 它在内存方面击败了timsort,在最坏情况性能和内存方面也...

13得票10回答
如何在最快的时间内对几乎有序的数组进行排序?(Java)

我有一个值得数组,几乎排序好了,但是有几个值被错放了(比如在10万个值中有50个位置不对)。如何最有效地对它进行排序?(性能非常关键,应该比O(N)更快)。 我知道smoothsort,但是找不到Java实现。是否有人知道它已经实现了吗?或者我可以使用什么替代品来完成这个任务?