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


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

퀵 정렬과 마찬가지로 분할 정복으로 O(N*logN)의 시간 복잡도를 가짐그러나 퀵정렬은 최악의 경우에는 O(N*N)의 시간복잡도를 가지지만, 병합 정렬은 정확히 반 씩 쪼개기 때문에 O(N*logN)을 보장한다하나의 리스트를 균등한 크기로 분할한 뒤 분할된 부분의 리스트를 정렬한 다음, 두 개의 정렬된 부분 리스트를 합하여 전체가 정렬된 리스트가 되게 하는 방법Divide리스트가 모두 한 개씩 남을 때 까지 계속 나눠준다.Conquer이미 정렬이 되어있는 상태에서 합치는 순간에 새로운 정렬을 진행하는 것.합병 과정두 개의 리스트의 인덱스 i, j에 위치한 값들을 비교해서 더 작은 값부터 순서대로 인덱스 k에 저장한다.둘 중 하나의 리..........

[알고리즘 개념] 병합 정렬(Merge Sort)에 대한 요약내용입니다.

자세한 내용은 아래에 원문링크를 확인해주시기 바랍니다.



원문링크 : [알고리즘 개념] 병합 정렬(Merge Sort)