Ответ
В 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().