# Step-by-step: merge sort (part 1df2)

Пройдём задачу шаг за шагом — такой формат удобен для первого знакомства с алгоритмами.

## Задача

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


## Разбор по шагам

1. **Шаг 1. Входные данные.** Проверяем, что приходит в функцию, и какие значения считаются корректными.
2. **Шаг 2. Основной цикл.** Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации.
3. **Шаг 3. Результат.** Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.

Когда каждый шаг понятен, доработка решения перестаёт быть лотереей.

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

[сливаются](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/lolcams-com-ced1ff.pdf) · [Реализовать](https://emmalarsen76.wixsite.com/my-site-1/post/%D9%82%D9%86%D8%B5-%D8%B7%D9%8A%D8%A7%D8%B2-%D8%AA%D9%88%D9%8A%D8%AA%D8%B1-%D8%B5%D9%88%D8%B1-%D8%B3%D9%83%D8%B3-%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9-%D8%AD%D8%B5%D8%B1%D9%8A%D8%A9-%D9%85%D9%86-%D8%AA%D9%88%D9%8A%D8%AA%D8%B1) · [какие](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/ome-tv-bugil-0ea6a8.pdf) · [считаются](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [отсортированные](https://hey.xyz/posts/30kjhn8b1m0tt8nmjne) · [условию](https://statics.pancake.vn/web-media-264/2c/18/98/67/4dabf5f8ad35824dbbf0011c37677212a13920398def2d49decce007.pdf) · [работы](https://blog.spikyhair.club/oz26ddad/cassie-drake-porn) · [Сложность](https://articlescad.com/peevoyeur-381036.html) · [данные](https://larsenadam16.wixsite.com/my-site-1/post/omegle-teens-game-hot-girls-playing-omegle-game) · [лотереей](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/andie-elle-sex-tape-c3e722.pdf) · [всегда](https://sway.cloud.microsoft/JeqmUJfI6TflMold) · [Убеждаемся](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [происходит](https://kappa.lol/Mkkpli) · [работает](https://statics.pancake.vn/web-media-264/c6/16/5a/d3/85b85364d0d322d8a98648304975b96f2b66ee01c2ceed43d06cfa03.pdf) · [куски](https://blogfreely.net/nataliarussell2/ksiusha-starslaif) · [работа](https://gall.dcinside.com/mgallery/board/view/?id=nmixxreality&no=3550) · [while](https://drop.xtrafrancyz.net/selif/2rikh7a30h.pdf) · [Задача](https://kappa.lol/OPSV1z) · [гарантированной](https://juliaroux804.overblog.fr/2026/10/fur-porn-fur-coat-fetish-photo-gallery-with-hot-models.html) · [изменениями](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [списков](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/kaori-xoxo-myfans-4d185a.pdf) · [right](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/haunted-cemetery-wallpaper-8a683b.pdf) · [result](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-3cf00d.pdf) · [сложностью](https://kappa.lol/OVEbqc) · [len(right](https://kappa.lol/ozvcdV) · [задачу](https://paste2.org/KxapvXn1) · [переменных](https://articlescad.com/h-381089.html) · [Слияние](https://paste.rs/T6fEB)

