diff --git a/Chapter03/binary_search.py b/Chapter03/binary_search.py index dac62d4..fc12c27 100644 --- a/Chapter03/binary_search.py +++ b/Chapter03/binary_search.py @@ -1,16 +1,18 @@ -def binary_search(arr, low, high, key): - while low <= high: - mid = int(low + (high - low)/2) - if arr[mid] == key: - return mid - elif arr[mid] < key: - low = mid + 1 - else: - high = mid - 1 - return -1 +def binary_search(arr, start, end, key): + while start <= end: + mid = start + (end - start)//2 + if arr[mid] == key: + return mid + elif arr[mid] < key: + start = mid + 1 + else: + end = mid - 1 + return -1 + -arr = [ 2, 3, 4, 2, 10, 40] -x = 10 -result = binary_search(arr, 0, len(arr)-1, x) + +arr = [4, 6, 9, 13, 14, 18, 21, 24, 38] +x = 13 +result = binary_search(arr, 0, len(arr)-1, x) print(result)