Изучаем задачу: быстрая сортировка
Разберём задачу, которая встречается практически в каждом учебнике по программированию.
Задача
Реализовать быструю сортировку — один из самых известных алгоритмов «разделяй и властвуй».
Решение
def quicksort(arr: list[int]) -> list[int]:
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quicksort(left) + middle + quicksort(right)
print(quicksort([3, 6, 8, 10, 1, 2, 1]))
Как это работает
Выбирается опорный элемент, массив делится на три части (меньше, равно, больше), затем части сортируются рекурсивно и склеиваются.
Пример работы
[1, 1, 2, 3, 6, 8, 10]
Сложность
O(n log n) в среднем, O(n²) в худшем случае.
Это решение удобно как отправная точка для экспериментов: попробуйте изменить входные данные и проследить за поведением кода.
Related:
- Типичные ошибки при решении: наибольший общий делитель
- reagan foxx johnny sins
- fsi blog latest
- หลุดไทย twitter รวมคลิปหลุดนักศึกษาไทย เซ็กซ์สุดร้อนแรง
- xcatlyn leak
- mofos claire black audrey black spiraling spirit the locker room
- Медленно и подробно: шифр Цезаря
- Indian Asshole Pics Desi Women Anal Porn Gallery
- Ловушки новичков при решении: бинарный поиск
- 네즈코섹스
- topless-sandra-escacena-la-casa-en-el-arbol-2025
- Два подхода: бинарный поиск
- imx peach
- Ловушки новичков при решении: проверка числа на простоту
- Korean 19+ Films that You Won't Be Able to Look Away From".
- Пошаговый разбор: проверка числа на простоту
- ayten abla sex
- Ловушки новичков при решении: проверка палиндрома
- Türkçe Altyazılı JAV Videoları | Ücretsiz İzle & İndir
- Два подхода: вычисление факториала
- نودز مصر تويتر - صور سكس مصري تويتر نادر
- Mallu Blowjob - Hot Desi Aunty and College Girl Oral Sex
- Goddess_Marylin Chaturbate Latina Milf Cam Recordings HD