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는 두 개의 정렬된 리스트를 동시에 훑으며 항상 더 작은 앞쪽 요소를 가져오므로, 결합된 리스트도 정렬된 상태를 유지합니다.
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
병합 정렬 - DSA 시리즈의 모든 레슨
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)