# Walking through merge sort (part 3ee5)

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

## Задача

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


Это решение удобно как отправная точка для экспериментов: попробуйте изменить входные данные и проследить за поведением кода.

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

[right[j](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [python](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/sneakylol-erome-2a0a7a.pdf) · [работает](https://jaflysilve.freeflarum.com/d/4828-4828-damn-luna-you-can-suck) · [точка](https://paste2.org/xbZHaz9h) · [Список](https://discuss.tchncs.de/post/65443343) · [встречается](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-1d6eca.pdf) · [входные](https://blogfreely.net/catherine-vasilyev70/mucize-ugur-bocegi-ve-kara-kedi-sex-rule-34) · [отправная](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/lara-rose-full-videos-eee212.pdf) · [соседние](https://rentry.co/gallery-694167) · [Разберём](https://stopmagazin.sk/join/lHs+ks+wmS?f=instapaper) · [памяти](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [Задача](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az4R5htM9rM5qFuWaqQ8SvL2TvxY6V/issues/b45cd0d1766a850ae06cd63ae1e2914fdc18a616) · [len(arr](https://sway.cloud.microsoft/hK3IWKMHw0lvASF0) · [времени](https://lvarga114.wixsite.com/my-site-1/post/%D8%B3%D9%83%D8%B3-%D8%B9%D8%B1%D8%A7%D9%82%D9%8A-xnxx) · [удобно](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [проследить](https://articlescad.com/petek-din-z-pornosu-izle-388108.html) · [работы](https://privatebin.devol.it/?7de69593c500f6d6#2aF7Km9kj9ejtYT7WR8iiPNt1UWn3ncVFXjmsiUXGtTM) · [делится](https://jaflysilve.freeflarum.com/d/4879-4879-madison-skyy-leaked-nude-photos-and-onlyfans-video-collection) · [решение](https://gensim.org/%E5%A4%A7%E4%B9%94%E6%9C%AA%E4%B9%85?f=instapaper) · [куски](https://blogfreely.net/nathannazarov26/big-ass-redhead-babe-gets-anal-destroyed) · [попробуйте](https://yakihonne.com/article/naddr1qvzqqqr4gupzqvuketwk5wket9vmse0px8m0sx7w82jthn4kxqwdqmje57pr2hq6qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknyvfcxqmkvefn943nqd3n956r2d35943r2enp94skyvnpvyuxgcnz8yunx3n6spq) · [задачу](https://privatebin.devol.it/?e4342633adb22e08#4cprxHTZHmG1NYD8WXkAvYCRtDfTRP1hRJAKfV8V5hp9)

