병합정렬(Merge Sort) 알고리즘
·
컴퓨터과학/알고리즘
병합정렬 알고리즘은 Divide and Conquer 알고리즘의 원칙을 기반으로 합니다.정렬되지 않은 데이터는 divide됩니다. 그리고 비교를 거쳐 정렬되게 됩니다.Divide and ConquerDivide and Conquer은 배열을 반반씩 나누며 하나가 될때까지 divide과정을 거친다.위의 예시에서는 6, 5, 12, 10, 9, 1 이 될때까지 divide를 한다.그리고 Conquer(정복)하는 과정에서 큰 수를 오른쪽으로 보내며 병합한다.왼쪽의 첫 번째 요소를, 오른쪽 배열의 모든요소와 비교하여 더 큰게 없다면 Merge할 배열의 인덱스에 차곡차곡 넣는다.그다음에는 오른쪽 배열의 요소를 왼쪽 배열과 비교하는 식으로 차례차례 반복한다.MergeSort알고리즘MergeSort(A, p, r):..