728x90 MergeSort1 병합정렬 복습 저번 시간에서는 O(NlogN) 인 퀵정렬에 대해 배웠습니다. 하지만 퀵정렬은 정렬이 거꾸로 되어 있는 경우에 O(N^2)의 시간복잡도로 효율이 굉장히 안 좋아지는데요. 그에 반해 병합정렬은 O(NlogN) 의 시간복잡도를 보장해줍니다. 평균이 퀵정렬보다 빠르진 않지만 보장해준다는 면에서 굉장히 좋은 정렬 알고리즘임을 알 수 있습니다. 병합정렬도 퀵정렬과 같이 나누고 해결하는 '분할 정복(divide and conquer) 알고리즘' 을 사용하는데요. 여기서 병합정렬이 시간복잡도를 보장해주는 이유에 대해서 나옵니다. 병합정렬은 무조건 두개로 나눠줍니다. 그리고 합치면서 정렬을 수행합니다. 합칠때 계산 횟수가 n 번이기 때문에 병합정렬은 O(nlog n) 의 시간복잡도를 보장할 수 있는 것 입니다. i 번.. 2020. 5. 29. 이전 1 다음 728x90