
8) 병합 정렬
·
CS/알고리즘
들어가기 전에 앞서 배운 정렬 알고리즘은 직관적이지만 실행 시간의 상한이 다소 높았습니다. 반복되는 작업이 많았기 때문인데요, 지난 강의에서 배운 재귀를 활용하면 정렬 알고리즘을 더 효율적으로 만들 수 있을까요? 재귀를 활용한 병합 정렬을 구현할 수 있습니다. 병합 정렬 병합 정렬 지난 단원에서 다양한 정렬 방법에 대해서 배웠습니다. 하지만 우리가 아직 공부하지 않은 대표적인 정렬 방법이 하나 더 있습니다. 전화번호부의 분할 정복 탐색처럼 데이터를 반으로 나누어간다는 것과 공통점이 있는 방법인 병합 정렬(합병 정렬)이 있습니다. 병합 정렬은 원소가 한 개가 될 때까지 계속해서 반으로 나누다가 다시 합쳐나가며 정렬을 하는 방식입니다. 그리고 이 과정은 재귀적으로 구현되기 때문에 나중에 재귀를 학습하면 더 ..