병합 정렬(Merge Sort)
"병합 정렬" : 일단 정확히 반으로 나누고 나중에 정렬 시간 복잡도 : O(N * logN) 정확히 반으로 나누기 때문에, 최악의 경우에도 O(N * logN)을 보장 단계의 크기 : logN (데이터 개수 : N) 정렬 자체에 필요한 수행 시간 : N 대표적인 '분할 정복' 방법을 채택한 알고리즘 재귀함수로 구현 합치는 순간에 정렬을 수행 반드시 정렬에 사용되는 배열은 '전역 변수'로 선언해야 함 기존의 데이터를 담을 추가적인 배열 공간이 필요하기 때문에, 메모리 활용이 비효율적 어떠한 상황에서도 정확히 O(N * logN)을 보장하기 때문에 몹시 효율적 class Sort { int[] sorted = new int[10]; // 임시적인 정렬 배열; 반드시 전역 변수로 선언 public void ..