63
правки
Изменения
Нет описания правки
==Принцип работы==
[[Файл:Merge-sort-exampleMerging_two_arrays.png|270px|right|300px|thumb|Пример работы процедуры слияния.]]
Алгоритм использует прицип «разделяй и властвуй»: задача разбивается на подзадачи меньшего размера, которые решаются по отдельности, после чего их решения комбинируются для получения решения исходной задачи. Конкретно процедуру сортировки слиянием можно описать следующим образом:
===Рекурсивный алгоритм===
Функция сортирует подотрезок массива с индексами в полуинтервале [left; right).
[[Файл:Merge sort1.png|300px|thumb|Пример работы рекурсивного алгоритма сортировки слиянием]]
MergeSort(A : '''int[1..N]'''; left, right : '''int'''):
MergeSort(A, mid, right)
Merge(A, left, mid, right)
==Время работы==