탐색은 선형탐색(Linear Search)과 이진탐색이 있는데 그 중 이진 탐색이다.
이진 탐색은 정렬되어 있는 배열을 탐색하기 좋은 탐색 방법으로 정렬을 할수 없는 문제의 경우 선형 탐색으로 탐색하는게 좋다.
public void binarySearch(int arr[], int key) {
int mid;
int left = 0;
int right = arr.length - 1;
while (right >= left) {
mid = (right + left) / 2;
if (key == arr[mid]) {
System.out.println("key = "+ key + ", array index = " + mid+", value = "+arr[mid]);
break;
}
if (key < arr[mid]) {
right = mid - 1;
} else {
left = mid + 1;
}
}
}