# Exploring merge sort (part 11f7)

В этом материале мы спокойно и по шагам разберём учебную задачу на программирование.

## Задача

Реализовать сортировку слиянием — устойчивый алгоритм с гарантированной сложностью O(n log n).

## Решение

```python
def merge_sort(arr: list[int]) -> list[int]:
    if len(arr) <= 1:
        return arr
    mid = len(arr) // 2
    left = merge_sort(arr[:mid])
    right = merge_sort(arr[mid:])
    return merge(left, right)


def merge(left: list[int], right: list[int]) -> list[int]:
    result = []
    i = j = 0
    while i < len(left) and j < len(right):
        if left[i] <= right[j]:
            result.append(left[i]); i += 1
        else:
            result.append(right[j]); j += 1
    return result + left[i:] + right[j:]


print(merge_sort([5, 2, 4, 6, 1, 3]))
```

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

Список делится пополам до кусков по одному элементу, затем соседние куски сливаются в отсортированные последовательности. Слияние двух отсортированных списков линейно.

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

```text
[1, 2, 3, 4, 5, 6]
```

## Сложность

O(n log n) по времени всегда, O(n) по памяти.


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

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

[len(arr](https://paste.rs/gfiMW) · [right[j](https://radicle.network/nodes/seed.cielago.xyz/rad%3Azqfk918h3WM3qVbZStNoBJeutiiA/issues/c63e48891dc2df6ded3796c07d63b80189a84a45) · [прогоните](https://talla-galerie.fr/giantess+foot+crush+animation?f=instapaper) · [python](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/esra-ezmeci-pornosu-4f38e7.pdf) · [while](https://hey.xyz/posts/16hxfdxftdce9h3bxhm) · [Слияние](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-037004.pdf) · [задачу](https://privatebin.devol.it/?ee55fa5a5ab69a86#6KvcRaCLkPfz6ugMmsgpnnPt5bwN281x3JH3Twa6sYDk) · [соседние](https://onomichi-st.com/%E6%89%93%E8%83%B6%E6%89%AB%E6%A5%BC?f=instapaper) · [спокойно](https://jaflysilve.freeflarum.com/d/2600-2600-porno-barboskiny) · [всегда](https://news-ctl-posts.hashnode.dev/walking-through-palindrome-check-part-bfc1) · [list[int](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [своих](https://jbarbosa557.wixsite.com/my-site-1/post/%E9%87%8C%E7%95%AA%E4%B8%AD%E6%96%87%E5%AD%97%E5%B9%95) · [пример](https://hey.xyz/posts/e5nqxkfyyneh5sm4my) · [делится](https://paper.wf/nina1998log/nu-xing-xiang-chun-ai) · [merge(left](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [гарантированной](https://gal94608.carrd.co/) · [кусков](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/starkers-small-secrets-5659a3.pdf) · [Реализовать](https://paper.wf/dianasvoboda98log/oznur-guven-ifsa-fotograflari-ve-detayli-icerik-guncel) · [списков](https://team.writefreely.dev/oz711d48/nu-xing-xiang-chun-ai) · [тестах](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [пополам](https://gal41851.carrd.co/) · [линейно](https://ecency.com/@michalruzic1009/120-a4e260) · [сортировку](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-f5124a.pdf) · [памяти](https://privatebin.devol.it/?9476447cc07253eb#3J9MaMoRcdmzbubqs4nXLhbi6kchmHBQuNDRWCUrLNCW) · [учебную](https://wuchu-pub.com/uploads/20261018/a01fa5c806dbed1e23d2e53a592bb921.pdf) · [Сложность](https://songsofasgard.com/%E8%A3%B8%E4%BD%93%E8%8D%92%E9%87%8E%E6%B1%82%E7%94%9F?f=linkcentre)

