Menu
Coddy logo textTech

Pseudo Code

Coddy의 병합 정렬 - DSA 시리즈 코스 레슨 — 9개 중 4번째.

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 시리즈의 모든 레슨