- Searches for an element in a sorted array
- TC:
log(n)
- SC:
1
- iterative approachlog(n)
- recursive approach - call stack
def binarySearch(arr, target):
start, end = 0, len(arr)-1
while start != end:
mid = int(start + end-start/2)
if arr[mid] == target:
return mid
elif arr[mid] > target:
end = mid-1
else:
start = mid+1
if __name__ == '__main__':
arr = [1,2,3,4,6,7,8,9]
target = 6
pos = binarySearch(arr, target)
print(f'Location of element {target} is {pos}')