개발 As 공부/Algorithm

[알고리즘] 이진탐색

민킹 2022. 2. 15. 13:23
public class BinarySearch {
	static int[] arr = {1, 3, 5, 7, 8, 10, 35, 99, 100};
	
	public static void main(String[] args) {
		System.out.print("이진탐색 결과: ");
		binarySearch_recursion(5, 0, arr.length-1);
		
		//binarySearch_
	}

	private static int binarySearch_recursion(int answer, int smallNum, int bigNum) {
		int middleNum;
		
		if(smallNum <= bigNum) {
			middleNum = (smallNum + bigNum) / 2;
			
			if(answer == arr[middleNum]) {
				return middleNum;
			} else if(answer < arr[middleNum]){
				return binarySearch_recursion(answer, smallNum, middleNum-1);
			} else {
				return binarySearch_recursion(answer, middleNum+1, bigNum);
			}
			
		}
		return -1;
	}
	
}