我正在解决 UVa 站点问题,我有一个问题,我必须尽可能快地对整数进行排序。
我试过冒泡排序,但效率很低。我已经尝试过使用递归的快速排序,但它会导致 StackOverflowException
,因为输入非常大(将近 2000 万)。
问题的时间限制只有5 秒。有没有人对如何更有效地实现这一点有任何想法?
最佳答案
您不一定需要递归地编写快速排序。
您可以采用递归算法,并将其重写为使用堆栈,从而避免递归。
这个的示例实现:
关于performance - 对数组元素进行排序的最高效算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6725047/