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)