Как называется алгоритм сортировки по умолчанию в Python?

«Как называется алгоритм сортировки по умолчанию в Python?» — вопрос из категории Python, который задают на 26% собеседований Data Scientist / ML Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Python алгоритмом сортировки по умолчанию является Timsort. Это гибридный алгоритм, сочетающий сортировку вставками и сортировку слиянием. Он обладает следующими характеристиками:

  • Устойчивость (stable): сохраняет относительный порядок элементов с одинаковыми ключами.
  • Сложность: O(n log n) в худшем и среднем случае, O(n) в лучшем (уже частично отсортированные данные).
  • Адаптивность: эффективно работает с реальными данными, которые часто содержат упорядоченные подпоследовательности.

Примеры использования:

# Функция sorted() возвращает новый отсортированный список
numbers = [5, 2, 9, 1, 5, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # [1, 2, 5, 5, 6, 9]

# Метод .sort() сортирует список на месте (in-place)
numbers.sort()
print(numbers)  # [1, 2, 5, 5, 6, 9]

Timsort также используется для сортировки встроенных типов данных, таких как кортежи и строки, а также является основой для операций min() и max().