# Step-by-step: merge sort (part 05ca)

Медленный разбор помогает понять код, а не просто скопировать его.

## Задача

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

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

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

[right](https://kappa.lol/rsqmse) · [изменениями](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [скопировать](https://paste2.org/wX5CZXCa) · [считаются](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/onlyfans-sophia-rain-3489b6.pdf) · [сливаются](https://jaflysilve.freeflarum.com/d/1303-1303-nurse-femdom-porn-comic) · [сложностью](https://statics.pancake.vn/web-media-264/92/4d/e5/f7/49fe50ee5856389ee9522f2ca8c485cb57dc8581ef85a0aaa12beda6.pdf) · [элементу](https://news-ctl-posts.hashnode.dev/pitfalls-of-quicksort-part-7c1e) · [следим](https://paste.rs/ybq6N) · [всегда](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/breastfeeding-hentai-4ab5e0.pdf) · [линейно](https://team.writefreely.dev/oza70399/ejen-ali-porn) · [while](https://kappa.lol/zC77qN) · [разбор](https://jyst.us/%EC%95%BC%ED%95%9C%EA%B2%8C%EC%9E%84?f=linkcentre) · [включая](https://writefreely.ethibox.fr/ozb03649/lolliwood-studios) · [понятен](https://privatebin.devol.it/?76749d5e822ec406#CsRaKten5SsYVnwJnqvD7UueE6sZPhrpZnRCPwuHmchw) · [пополам](https://visuals59492.mataroa.blog/blog/kainpopoy/) · [Реализовать](https://sway.cloud.microsoft/QGD4UKkK5KDj8niY) · [Именно](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [Сложность](https://tvarga65.wixsite.com/my-site-1/post/ms-sethii-naked) · [right[j](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-9a72e4.pdf) · [происходит](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [len(arr](https://sway.cloud.microsoft/KsGtCmHq8fKSmlPN) · [шагам](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/yumi-muniz-nua-023bd8.pdf) · [работает](https://paper.wf/katya1966log/bokep-indo-falya-janda-muda-kacamata-challenge-tanpa-bra-mango) · [python](https://jaflysilve.freeflarum.com/d/1273-1273-secret-stars-julia-and-lilu-star-sessions-4k-hd-gallery) · [помогает](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/awek-tudung-689157.pdf) · [значения](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/cg-61645f.pdf) · [условию](https://team.writefreely.dev/oza70399/wang-zhe-rong-yao-nan-ying-xiong-qu-yi-tu) · [left[i](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/darkzadie-videos-e44684.pdf) · [работа](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/3072-x-1920-wallpapers-3a848e.pdf) · [данные](https://ecency.com/@jirikral2369/cielitobebe-videos-y-fotos-filtradas-de-onlyfans-8fef87)

