Fix Python – What algorithm does python’s sorted() use? [duplicate]

Question

Asked By – Hartley Brody

Possible Duplicate:
About python’s built in sort() method

Name says it all.

I’m trying to explain to someone why they should use Python’s builtin sorted() function instead of rolling their own, and I realized I have no idea what algorithm it uses.

If it matters, we’re talking python 2.7

Now we will see solution for issue: What algorithm does python’s sorted() use? [duplicate]


Answer

Python uses an algorithm called Timsort:

Timsort is a hybrid sorting algorithm, derived from merge sort and
insertion sort, designed to perform well on many kinds of real-world
data. It was invented by Tim Peters in 2002 for use in the Python
programming language. The algorithm finds subsets of the data that are
already ordered, and uses the subsets to sort the data more
efficiently. This is done by merging an identified subset, called a
run, with existing runs until certain criteria are fulfilled. Timsort
has been Python’s standard sorting algorithm since version 2.3. It is
now also used to sort arrays in Java SE 7, and on the Android
platform.

This question is answered By – bgporter

This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0