#---------------------------->Recursive Binary Search.
def binarySearch(array, low,high,key):
    if low <= high:
        mid = low + (high - low) // 2
        if array[mid] == key:
            return mid
        elif key > array[mid]:
            return binarySearch(array,mid+1, high, key)
        elif key < array[mid]:
            return binarySearch(array,low,mid - 1,key)
    else:
        return -1
#--------------------------->Iterative Binary Search.
# def binarySearch(array, low, high, key):
#     while low <= high:
#         mid = low + (high - low)//2
#         if array[mid] == key:
#             return mid
#         elif(array[mid] < key):
#             low = mid + 1
#         else:
#             high = mid - 1
#     return -1
if __name__ == "__main__":
    array = [ 2, 3, 4, 10, 40 ]
    print("Your array is: ", array)
    key = int(input("Enter the key that you want to search: "))
    res = binarySearch(array, 0,len(array)-1, key)
    if res != -1:
        print(f"Element found at {res+1} position.")
    else:
        print("Key not found")

Comments
Post a Comment
If you've any doubts, please let me text