Junior
Koliko će vremena trajati rešenje sa ugrađenim sorted? Može li se smisliti brže rešenje?
sobes.tech АИ
Одговор од АИ
Встроенная функция sorted в Python работает за время O(n log n), где n — количество элементов в списке. Это оптимальное время для общего случая сортировки сравнениями.
Если задача позволяет использовать более специфичные алгоритмы (например, сортировка подсчетом, если элементы — целые числа в ограниченном диапазоне), можно добиться времени O(n).
Пример более быстрого решения для сортировки целых чисел в диапазоне:
# Сортировка подсчетом для чисел от 0 до 100
def counting_sort(arr):
count = [0] * 101
for num in arr:
count[num] += 1
sorted_arr = []
for num, c in enumerate(count):
sorted_arr.extend([num] * c)
return sorted_arr
Если же данные не подходят для таких алгоритмов, то sorted — оптимальный выбор.