Algorithm

Binary Search

orioncsy 2022. 10. 13. 09:52

Binary Search iteration way

//java Binary search
//iteration way
public class Solution { 
	public int binarySearch(int[] arr, int target) {
		int low=0;
		int high=arr.length-1;
		while(low<=high){
			int half=(low+high)/2;
			if(arr[half]==target) return half;
			else if(arr[half]<target) low=half+1;
			else high=half-1;
		}
		return -1;
	}
}

Binary Search recursive way

//java Binary search
//recursive way
public class Solution { 
	public int binarySearch(int[] arr, int target, int low, int high) {
		if(low<=high){
			int half=(low+high)/2;
			if(arr[half]==target) return half;
			else if(arr[half]<target) return binarySearch(arr, target, half+1, high);
			else return binarySearch(arr,target,low, half-1);
		}
		return -1;
	}
}