위의 gif는 실수로 아래쪽 임시 배열부분을 빠트렸다... 그런데 배열의 데이터를 직접 지정못해줘서 아래 예시도 함께 들겠다 (모든 정렬방법의 데이터가 같은 상태) 병합 정렬이란? 재귀적으로 분할해서 정렬한후 merge하는 방법 시간복잡도 시간 복잡도 최악 O(n log n) 평균 O(n log n) 최상 O(n log n) 공간 복잡도 전체 O(n) 특징 안정 정렬(Stable Sort) 분할 정복 알고리즘 임시 배열 필요 배열의 크기가 크면 이동 횟수가 많아짐 시작 복잡도가 일정하다 (데이터 분포에 영향을 덜 받음) 로직 재귀. 배열을 반으로 쪼갠다 배열의 길이가 1이하가 될때 까지 재귀적으로 반복한다 병합하면서 정렬한다 코드 function main(arr) { mergeSort(arr, 0, ar..