# Exploring merge sort

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

## Задача

Реализовать сортировку слиянием — устойчивый алгоритм с гарантированной сложностью 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://gellaryforum.freeflarum.com/d/28899-28899-my-sweet-apple-foursome-pool-party-gone-wild-with-friends) · [Сложность](https://frames13102.mataroa.blog/blog/leslie-luxx-nude/) · [всегда](https://leahmichel177.overblog.fr/2026/10/cerkezkoy-eskort.html) · [куски](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [Разберём](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/word-count-oshibki-mv9iqo65.md) · [работы](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/elowen-fawn-leak-3be618.pdf) · [которая](https://ecency.com/@jirisvoboda1887/nurseli-aksoy-if-a-706cac) · [попробуйте](https://foryou-international.jp/%D8%B3%D9%83%D8%B3+%D8%AA%D9%88%D8%AA%D8%A7+%D8%A7%D9%84%D9%85%D8%B5%D8%B1%D9%8A%D9%87?f=instapaper) · [Задача](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [изменить](https://annalaurent761.overblog.fr/2026/10/celine-flordegin-nude-gallery-explicit-photos-and-videos.html) · [памяти](https://discuss.tchncs.de/post/65444573) · [right[j](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [Реализовать](https://news-ctl-posts.hashnode.dev/step-by-step-word-frequency-counting) · [Слияние](https://gall.dcinside.com/mgallery/board/view/?id=thekpop&no=64461) · [сортировку](https://blogfreely.net/catherine-vasilyev70/pythia-black-thong-photos-lingerie-and-sensual-poses) · [отправная](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/factorial-tests-mv9fzvpl.md) · [проследить](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/gf-bf-viral-mms-video-f765d3.pdf) · [алгоритм](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/simge-barankoglu-ifsa-5a9624.pdf) · [экспериментов](https://claramoreau385.overblog.fr/2026/10/post-8.html) · [list[int](https://kappa.lol/uh8JEs) · [while](https://blogfreely.net/catherine-vasilyev70/maggie-and-skyler-omegle-sensual-threesome-gallery) · [одному](https://kappa.lol/nwItrI) · [len(arr](https://www.imagefap.com/pictures/14229816/sarvente-r34-fnf-porn-gallery-friday-night-funkin-rule-34) · [len(right](https://paste2.org/KHJd8fh5) · [входные](https://radicle.network/nodes/seed.pipapo.org/rad%3Az4GuiYjjhGdLcKNbJn5Y8HcmpoaYL/issues/8c129c7fc498a94d321899e807c7d24a6d6099ee)

