Изменения

Перейти к: навигация, поиск

Сортировка слиянием

88 байт убрано, 21:14, 3 мая 2015
Нет описания правки
==Принцип работы==
[[Файл:Merge-sort-exampleMerging_two_arrays.png|270px|right|300px|thumb|Пример работы процедуры слияния.]]
Алгоритм использует прицип «разделяй и властвуй»: задача разбивается на подзадачи меньшего размера, которые решаются по отдельности, после чего их решения комбинируются для получения решения исходной задачи. Конкретно процедуру сортировки слиянием можно описать следующим образом:
===Рекурсивный алгоритм===
[[Файл:Merge sort1.png|300px|right|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)
 
Пример работы алгоритма показан на рисунке:
==Время работы==
63
правки

Навигация