Изменения

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

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

46 байт убрано, 14:31, 9 мая 2015
Нет описания правки
Ниже приведён псевдокод процедуры слияния, который сливает две части массива <tex>a</tex> {{---}} <tex>[left; mid)</tex> и <tex>[mid; right)</tex>
<code style="display: inline-block">
'''function''' merge(a : '''int[n]'''; left, mid, right : '''int'''):
it1 = 0
'''for''' i = 0 '''to''' it1 + it2
a[left + i] = result[i]
</code>
===Рекурсивный алгоритм===
[[Файл:Merge sort1.png|300px|right|thumb|Пример работы рекурсивного алгоритма сортировки слиянием]]
Функция сортирует подотрезок массива с индексами в полуинтервале <tex>[left; right)</tex>.
 
[[Файл:Merge sort1.png|300px|right|thumb|Пример работы рекурсивного алгоритма сортировки слиянием]]
<code style="display: inline-block">
'''function''' mergeSortRecursive(a : '''int[n]'''; left, right : '''int'''):
*[[Cортировка слиянием с использованием O(1) дополнительной памяти]]
===Ссылки===
*[http://ru.wikipedia.org/wiki/Mergesort Википедия {{---}} сортировка слиянием]
*[http://www.sorting-algorithms.com/merge-sort Визуализатор]
63
правки

Навигация