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
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)