합병정렬(Mergesort) 코드 자바 설명, 제자리 정렬


합병정렬(Mergesort) 코드 자바 설명, 제자리 정렬

합병정렬이란? 정렬을 분할 정복의 과정으로 하는 거다. 정렬되지 않은 숫자 배열이 있을 때 배열을 반으로 나눠서 2개의 부분 배열로 분할한다. 그리고 가장 인접한 부분 배열을 정렬하면서 다시 하나의 배열로 통합하는 것이다. 아래 예시 그림을 보면 쉽다. 123 34 189 56 150 12 9 240으로 나열된 숫자를 나눈 뒤 마지막에 합병을 하면서 정렬을 하는 것이다. 이걸 자바 코드로 짜면 아래와 같다. public static void mergeSort(int n, int[] s) { //merge(h, m, u, v, s); if (n > 1) { int h = n / 2; // 배열의 인덱스 설정을 위해 배열의 크기를 반으로 나눔 int m = n - h; int[] u = new int[h]; // 나눠질 두 개의 배열을 선언 int[] v = new int[m]; System.arraycopy(s, 0, u, 0, h); // s배열을 나눠서 u와 v배열에 복사 Syst...


#설명 #알고리즘 #자바 #제자리정렬 #제자리합병정렬 #코드 #합병정렬

원문링크 : 합병정렬(Mergesort) 코드 자바 설명, 제자리 정렬