[Algorithm] 병합 정렬 (Merge Sort) 알고리즘
병합 정렬 분할 정복 (Divide and Conquer) 방식을 사용해 데이터를 분할하고 분할한 집합을 정렬하여 합치는 알고리즘 시간복잡도 : O(nlogn) 핵심 이론 왜 시간복잡도가 O(nlogn)인가? 그림에서는 데이터의 개수가 8. 정렬 3번(log 8)만에 정렬된 데이터가 나옴 N번의 데이터 엑세스가 log n번 일어나기 때문에 시간복잡도가 O(nlogn)이다. 수행 방식 1. 그림에서 최초로는 8개의 그룹으로 나눈다. 2. 2개씩 그룹을 합치며 오름차순으로 정렬한다. -> (32,42), (24,60), (5,15), (45,90) 3. 2개씩 그룹을 합치며 다시 오름차순으로 정렬한다. -> (24,32,42,60) , (5,15,45,90) . . . 이런 식으로 병합 정렬 과정을 거친다...
2023. 3. 27.