# Walking through quicksort (part 6da3)

Предлагаю решить задачу вместе: без спешки, с объяснением каждой строки.

## Задача

Реализовать быструю сортировку — один из самых известных алгоритмов «разделяй и властвуй».

## Решение

```python
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]))
```

## Как это работает

Выбирается опорный элемент, массив делится на три части (меньше, равно, больше), затем части сортируются рекурсивно и склеиваются.

## Пример работы

```text
[1, 1, 2, 3, 6, 8, 10]
```

## Сложность

O(n log n) в среднем, O(n²) в худшем случае.


Такой пример хорошо закрепляется практикой — перепишите решение руками и прогоните на своих тестах.

**Читайте также:**

[Решение](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/jb-nude-5db63c.pdf) · [quicksort(arr](https://blogfreely.net/catherine-vasilyev70/jav-tdr-3000) · [быструю](https://sway.cloud.microsoft/KEkZqTWlZFgC8Hli) · [задачу](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-918705.pdf) · [хорошо](https://yakihonne.com/article/naddr1qvzqqqr4gupzqdy9e7y0f5udkpvr7phm58q7zedd8s3vjr365lpf64szfqhck0cqqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknsdfhx5cnxep494jrscnz956x2dm995ukxv3h956xgwtpxucnxvecxfjnwn4fzmh) · [print(quicksort([3](https://jaflysilve.freeflarum.com/d/3374-3374-1014harurubb) · [решить](https://privatebin.devol.it/?69ccf14a99066df6#G5ouFtJCz1QQc3Qp5KmzH8qUZHNLmVpYpYbWgX5yWuWx) · [среднем](https://visuals62488.mataroa.blog/blog/fatma-ile-hertelden/) · [middle](https://privatebin.devol.it/?a3c404f4347e85ea#DcqPqdNKf55EnqVCLzf3zZbdDHHtfKJ8sQv5WrqCFuB4) · [Пример](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [Сложность](https://blogfreely.net/nathannazarov26/secret-session-olivia) · [элемент](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/jovencita-espa-ola-follando-31800b.pdf) · [известных](https://kappa.lol/WAJEc7) · [quicksort(left](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [Выбирается](https://news-ctl-posts.hashnode.dev/two-approaches-to-string-reversal-part-8721) · [решение](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [len(arr](https://clarasimon273.overblog.fr/2026/10/hollyjaneloves69-video.html) · [Такой](https://yakihonne.com/article/naddr1qvzqqqr4gupzq4tm79h4yv5jt9mutnxfnlfvfz2m3hee95c4t4mpanzhxsfnzgdvqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknserrxfnxvvm9956nvefe956rvvmp95unvetx95erxd3sxesn2df48qurw7jc0v0) · [затем](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/cg-716a74.pdf) · [python](https://sway.cloud.microsoft/RJgZctvxNH5eI1zJ) · [массив](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/nickykittyxx-4e4ef2.pdf)

