앞에서 배웠던 알고리즘은 직관적이었지만 실행 시간의 상한이 다소 높았는데요 그 이유는 반복되는 작업이 많았기 때문입니다. 그래서 이번엔 저번 포스팅에서 공부했던 재귀를 활용하여 보다 더 효율적인 정렬 알고리즘을 만드는 법에 대해 공부해보도록 하겠습니다. 버블 정렬, 선택 정렬 같이 다양한 정렬 방법에 대해 배웠는데 아직 공부하지 않은 대표적인 정렬방법이 하나 더 있습니다. 바로 병합 정렬(합병 정렬이라고도 합니다.)입니다. 병합 정렬은 원소가 한 개가 될 때까지 계속해서 반으로 나누다가 다시 합쳐나가며 정렬을 하는 방식입니다. 만약 4 3 8 2 6 7 1 5 숫자 리스트를 병합 정렬을 사용해 오름차순으로 정렬해본다면 1. 4 3 8 2 | 6 7 1 5 // 숫자들을 반으로 나눈다. 2. 4 3 | 8..