Menu
Coddy logo textTech

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 проходит по двум отсортированным спискам одновременно, всегда выбирая меньший передний элемент, чтобы объединенный список оставался отсортированным.

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Сортировка слиянием — Серия DSA