binary search divide and conquer code example

Example 1: iterative binary search python

def binary_search(a, key):
	low = 0
	high = len(a) - 1
	while low < high:
		mid = (low + high) // 2
		if key == a[mid]:
			return True
		elif key < mid:
			high = mid - 1
		else:
			low = mid + 1

	return False

Example 2: recursive binary search python

def binary_search_recursive(A, key, low, high):
	if low > high:
		return False
	else:
		mid = (low + high) // 2
		if key == A[mid]:
			return True
		elif key < A[mid]:
			return binary_search_recursive(A, key, low, mid - 1)
		else:
			return binary_search_recursive(A, key, mid + 1, high)

Tags:

Misc Example