
[정렬 알고리즘, C#] 병합 정렬(Merge Sort)
·
Unity,C#/알고리즘
■ 병합 정렬(Merge Sort)병합 정렬은 배열을 계속 쪼개고(Divide), 나눠진 배열들을 병합(Conquer)하면서 정렬하는 분할 정복(Divide and Conquer) 알고리즘이다.퀵 정렬이 피벗(Pivot)을 기준으로 배열을 좌우로 분할했다면, 병합 정렬은 배열의 가운데를 기준으로 반씩 나눈다.배열의 길이가 1이 될 때까지 재귀적으로 분해하고, 그 후 병합하면서 정렬한다. ■ 병합 정렬 구현(C#)1. 배열 분해// 병합 정렬public static void MergeSort(T[] arr, int left, int right){ if (left >= right) return; var mid = (left + right) / 2; MergeSort(arr, left, mid); Merg..