CS/알고리즘
병합정렬
분할 정복(Divide and Conquer) 알고리즘의 한 종류안정적이고 효율적인 정렬 방식정렬 과정에서 배열을 점점 작게 나누고 다시 합치며 정렬된 상태로 병합 1. 분할(Divide)배열을 절반으로 나눈다.크기가 1 이하가 될 때까지 반복적으로 나눈다.2. 정복(Conquer)나눠진 배열을 정렬된 상태로 병합(Merge)한다.3. 병합(Merge)두 개의 정렬된 서브 배열을 하나의 정렬된 배열로 결합한다. 특징시간 복잡도최악, 최선, 평균O(n log n)분할에 O(log n), 병합에 O(n)이 걸리기 때문에 항상 O(n log n)공간 복잡도O(n)추가적인 병합 배열이 필요하므로, 입력 배열 크기만큼 추가 메모리가 필요안정 정렬동일한 값의 순서가 유지 장점안정 정렬동일한 값의 순서가 유지일관된 ..
2025. 1. 30.