# Exploring quicksort (part 23f1)

Разберём задачу, которая встречается практически в каждом учебнике по программированию.

## Задача

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

## Решение

```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²) в худшем случае.


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

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

[len(arr](https://discuss.tchncs.de/post/65439228) · [Задача](https://afioco.com/%D8%A7%D9%81%D9%84%D8%A7%D9%85+%D8%B3%D9%83%D8%B3+%D9%8A%D8%A7%D8%A8%D8%A7%D9%86%D9%8A?f=linkcentre) · [quicksort(right](https://drop.xtrafrancyz.net/selif/0ewokrnkqf.pdf) · [которая](https://kappa.lol/dOTL1d) · [худшем](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/melissa-benoist-deepfake-23b940.pdf) · [тестах](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [return](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [среднем](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-b6a1f4.pdf) · [пример](https://wuchu-pub.com/uploads/20261019/66c1804f9d444f9f9181d9f7cf34c0a5.pdf) · [практикой](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/marissa-dubois-xxx-259dde.pdf) · [решение](https://statics.pancake.vn/web-media-264/cd/7a/ee/2c/c2c637664d3f36edbb412dbcedc46536eb9a46dde2c39a5e50f65820.pdf) · [закрепляется](https://laurabarbosa70.wixsite.com/my-site-1/post/tamil-mami-sex-video) · [Пример](https://blogfreely.net/igorcollins26/sks-tmzyq-mlbs) · [равно](https://radicle.network/nodes/seed.cielago.xyz/rad%3AzFz5qinCPKPMnwtt6L1sm5KPyT3U/issues/2d2cbaca0dc42000bb5df1b64a66e358aef999d4) · [quicksort(arr](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/digit-sum-shagi-mven7dil.md) · [перепишите](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/nurseli-aksoy-18-c134e6.pdf) · [хорошо](https://news-ctl-posts.hashnode.dev/writing-tests-for-factorial-computation-part-c64a) · [Решение](https://ecency.com/@filippospis5169/post-063001) · [разделяй](https://hey.xyz/posts/38daynjf8rafd4nbdw3) · [самых](https://paste2.org/5ya0ckye) · [массив](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [Выбирается](https://privatebin.devol.it/?e76e728a3e1c265b#BMG1xb1LFj5ASVjigYafhnzvAoY8D2amxYyzivqQ5MY4)

