# Walking through merge sort (part 581a)

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

## Задача

Реализовать сортировку слиянием — устойчивый алгоритм с гарантированной сложностью 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) по памяти.


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

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

[отсортированные](https://articlescad.com/t-rbanl-sotwe-388578.html) · [Такой](https://radicle.network/nodes/seed.pipapo.org/rad%3AzE5YD76g7XLKKMUUeDxWjT37zrvM/issues/ff7987aede2cfc025a1c1b8f9f185f8284f1d46e) · [result](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/thestartofus-naked-cee771.pdf) · [тестах](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/merge-sort-dva-sposoba-mvgxqvi1.md) · [merge(left](https://yakihonne.com/article/naddr1qvzqqqr4gupzqzkjcv6jamme4eyl95eukjcucgcnz24mnkhknym8py9gtm2apstqqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkxe3jvcerycej95unycfe956x2veh94sn2ve5956rqdmyx3snycmr8pjx2ygn9hs) · [python](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/t-rbanl-olgun-a53fba.pdf) · [сложностью](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [программирование](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-9b89d0.pdf) · [закрепляется](https://hey.xyz/posts/28fwq1nww68ncncdx9x) · [перепишите](https://radicle.network/nodes/seed.pipapo.org/rad%3Az2eZiJ7dCeHUEQVjy4C78YUUCQ1Hr/issues/2ae9f31fe708d09480600e2fc69896981b3fee49) · [кусков](https://triplemedia.al/dolce+mods+star?f=linkcentre) · [Сложность](https://juliaroux932.overblog.fr/2026/10/camilla-araujo-nude-leaks-official-photos-and-videos.html) · [памяти](https://gallery57713.mataroa.blog/blog/balk-etli-cplak-kadn-resimleri-ve-dogal-vucut-detaylar/) · [учебную](https://radicle.network/nodes/seed.pipapo.org/rad%3Az2DdUCXx8HBzjtpKua4FyLQbbcxDY/issues/2c4facfb74905f6b651d4b2c0595a4078e50eb7e) · [работы](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [своих](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/ashley-somethin-nude-bd2780.pdf) · [Слияние](https://kappa.lol/rz3U8K) · [сливаются](https://hey.xyz/posts/1mvnxghrb1bjqjjthee) · [задачу](https://archive50547.mataroa.blog/blog/da6-7c-a2d/) · [алгоритм](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/starsessions-michelle-8f3e87.pdf) · [руками](https://elenabrown26.wixsite.com/my-site-1/post/sophie-monk-date-movie) · [линейно](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [шагам](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-969e8a.pdf)

