Binary Search is a method by which we search through a sorted list by halving the list we are looking at for each comparison we take.

def binarySearch(k, A, N):
	min = 1
	max = N
	repeat
		mid = (min + max) div 2
		if k > A[mid]:
			min = mid + 1
		else:
			max = mid - 1
	until (A[mid] == k) or (min > max)