# Exploring merge sort (part f037)

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

## Задача

Реализовать сортировку слиянием — устойчивый алгоритм с гарантированной сложностью 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://drop.xtrafrancyz.net/selif/8azvxl9zm6.pdf) · [затем](https://rentry.co/anoanochan-793584) · [Пример](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [перепишите](https://paper.wf/lenaweber98log/starsession-videos-nude-photo-gallery-secret-stars-collection) · [учебнике](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/cherish-ams-6e032c.pdf) · [right](https://writefreely.ethibox.fr/ozbb5198/bokep-indo-daisy-bae-onlyfans-yang-suka-main-kasar-9c15) · [хорошо](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-0ea078.pdf) · [всегда](https://radicle.network/nodes/index.radicle.garden/rad%3AzEVKRR64N1o3ae1xtbxDR5tLxWsC/issues/de2d0d2602a1323548be5426f180b4bc5ae1ef24) · [кусков](https://gall.dcinside.com/mgallery/board/view/?id=thekpop&no=64451) · [while](https://chateaulinfc.com/%E8%A3%99+%E5%BA%95?f=instapaper) · [пример](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/minipussy-e7794d.pdf) · [list[int](https://kappa.lol/XAxl4x) · [Слияние](https://paste2.org/eemZ95OF) · [len(right](https://statics.pancake.vn/web-media-264/aa/6d/31/b0/a69a1ec8161193ce5f34f3a1df96cb30858dd0ff1c9501eb846eb500.pdf) · [своих](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/word-count-tests-mvdgfgn6.md) · [python](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [делится](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [отсортированные](https://jaflysilve.freeflarum.com/d/2972-2972-andzela-taseva) · [работает](https://blogfreely.net/igorcollins26/dripclawed) · [merge(left](https://paste.rs/VJpwg) · [Такой](https://yakihonne.com/article/naddr1qvzqqqr4gupzqf7u5g6pk7rfeae2czdyz06qnu4q8dw33hxwvtw8u7xdzz2r3w9kqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknjwryv3jk2dr9943ryvpn956rxc3395uxvdpn956kxvryvyekgwpkvcek29ly774) · [задачу](https://kraldaniel33.wixsite.com/my-site-1/post/%D8%B3%D9%83%D8%B3-%D9%85%D8%AF%D9%85%D9%84%D9%83-%D8%B7%D8%B1%D9%89-%D8%AA%D8%AA%D9%86%D8%A7%D9%83-%D9%88-%D8%AA%D8%AA%D8%A8%D8%B9%D8%A8%D8%B5-%D9%85%D9%86-%D8%AD%D8%A8%D9%8A%D8%A8%D9%87%D8%A7-%D9%81%D9%8A%D8%AF%D9%8A%D9%88-%D9%85%D8%B5%D8%B1%D9%8A-%D9%86%D8%A7%D8%B1) · [программированию](https://blogfreely.net/nataliarussell2/minipussy-mini-porno-foto-galereia-seksual-nykh-kiskanii) · [встречается](https://privatebin.devol.it/?f94ce2a6a4b7b7a0#5F66ZMAkNZ5zpnTDypdipTAe7kciDAzTpEpMuuzC45fJ) · [слиянием](https://blogfreely.net/catherine-vasilyev70/ilayda-erkan) · [прогоните](https://paper.wf/ines1977log/anime-hentai-sister-step-brother-and-sister-incest-fuck-videos)

