일지

알고리즘...16

niamdank 2021. 7. 7. 12:02

병합 정렬

입력 배열을 반으로 나누고 나눈 배열을 하나의 배열로 병합하여 정렬을 진행한다.

 

병합 정렬 알고리즘

배열의 크기를 반으로 나누는 과정을 각각의 크기가 1이 될 때까지 반복하고 이후 각각의 배열을 병합할 때 정렬을 진행한다.

 

병합 정렬 알고리즘

MergeSort(A[], p, r)
{
	if (p < r) then
	{
		q ← └(p + r) / 2┘
		MergeSort(A, p, q)
		MergeSort(A, q + 1, r)
		Merge(A, p, q, r)
	}
}

Merge(A[], p, q, r)
{
	정렬되어 있는 두 배열 A[p...q]와 A[q + 1...r]을 합쳐
		정렬 된 하나의 배열 A[p...r]을 만든다.
}