이진 삽입 정렬은 삽입 정렬 알고리즘이 개선된 것입니다. 정렬 알고리즘 중에 요소는 이전에 정렬된 시퀀스에 계속해서 삽입됩니다. 전반부는 정렬된 시퀀스이므로 삽입점을 순서대로 검색할 필요가 없으며 삽입점 검색 속도를 높이기 위해 절반 검색 방법을 사용할 수 있습니다.
public static void halfSort(int[] array) { int low, high, mid; int tmp, j for (int i = 1; i < array.length; i++) { tmp = array[i]; high = i - 1; while (low <= high) { mid = low + (high - low) / 2 if (array[mid] > tmp) high = mid - 1; } for (j = i - 1; j > high; j--) { array[j + 1] = array[j] } array[high + 1] = tmp;
절반 정렬 알고리즘의 개략도:
이상이 이 글의 전체 내용이다. 자바 반정렬 알고리즘을 배우는 모든 분들에게 도움이 되길 바란다.