[알고리즘] Merge Sort(병합 정렬)

김성록·2023년 2월 7일

알고리즘

목록 보기
5/18

Merge Sort에 대해 설명해보세요.


Merge Sort의 작동 방식

  • 분할 정복 알고리즘의 한 종류로, 배열이 충분히 작아질 때까지 재귀적으로 분할하고 부분 배열들을 합병하면서 정렬이 되는 방식이다.
  1. 부분 배열의 크기가 0 또는 1이 될 때까지 분할한다.
  2. 부분 배열을 정렬하면서 하나의 배열로 합병한다.

Merge Sort의 특징

  • 시간 복잡도
    : 최선, 평균, 최악의 경우 모두 O(NlogN)의 시간 복잡도를 가진다. 순환 호출의 깊이는 logN이며, 각 호출의 최대 비교 연산 횟수는 N이기 때문이다.

  • 공간 복잡도
    : 정렬할 배열과 같은 크기(N)의 새로운 배열이 필요하므로 공간 복잡도는 O(2N)을 가진다.

  • 장점

    • 최악의 경우에도 O(NlogN)의 시간복잡도로 빠르다.
  • 단점

    • 새로운 배열이 필요하므로 추가 메모리가 필요하다.

결론

Merge Sort는 분할 정복 알고리즘의 한 종류로, 배열의 크기가 충분히 작아질 때까지 분할한 후 정렬하면서 병합하는 방식입니다. 시간 복잡도는 항상 O(NlogN)을 가지며 빠른 속도로 정렬이 가능합니다. 하지만 정렬된 배열을 저장할 새로운 배열이 필요하기 때문에 추가 메모리가 필요하다는 단점이 있습니다.

profile
예비 개발자

0개의 댓글