用Python排序算法的最快方法

时间:2011-12-03 06:05:58

标签: python algorithm sorting

我正在为Codility做准备。我需要找出找到具有大值和多个条目的数组的最快方法是什么?

内置python排序是最快还是我需要实现其他排序方法?

3 个答案:

答案 0 :(得分:10)

如果您的数据已经在Python中,那么Python的sort可能是最快的方式。它使用Timsort algorithm,它在随机数据上表现良好,在部分有序数据上表现良好。

如果您只需要最大的项目,请使用heapq.nlargest

答案 1 :(得分:2)

我从codility.com求职面试网站得到的印象是,快速提供的正确解决方案比难以调试(但可能更高效)的解决方案更重要。在那种环境中,使用Python的内置排序,Timsort,它在大数字排序大数组方面相当有效,是稳定的,并且可以进行排序。

答案 2 :(得分:0)

使用

list.sort()

是最简单的排序列表的方法,如果你不介意丢失原始列表,你应该使用这种方法。

使用

sorted()

将返回一个新列表,使其效率低于list.sort(),但如果您需要保留原始列表,则可以使用此列表。