Pseudo Code
Урок 4 из 9 курса Сортировка слиянием — Серия DSA на Coddy.
mergeSort(array):
if length(array) <= 1:
return array
mid = length(array) / 2
left = mergeSort(array[0..mid])
right = mergeSort(array[mid..end])
return merge(left, right)
merge(left, right):
result = []
while left and right both still have elements:
if left[0] <= right[0]:
move the front of left into result
else:
move the front of right into result
append whatever remains of left
append whatever remains of right
return resultДве функции работают вместе:
- mergeSort продолжает разделять массив до тех пор, пока части не станут тривиально отсортированными, а затем полагается на merge для их объединения.
- merge проходит по двум отсортированным спискам одновременно, всегда выбирая меньший передний элемент, чтобы объединенный список оставался отсортированным.
Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Сортировка слиянием — Серия DSA
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)