Binary Search | Python

 


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