Binary search - AndrewMZ6/python_cheat_sheet GitHub Wiki
binary search
num
is the number we're going to search
import math
num = 1411
numbers
is list containing the num
numbers: list = list(range(106, 1939))
low: int = 0
high: int = len(numbers) - 1
mid
is middle index number and guess
is the number located at the index
mid = math.floor((low + high)/2)
guess = numbers[mid]
while guess != num:
if guess > num:
high = mid
print(f'new ceiling number is {high}')
elif guess < num:
low = mid
print(f'new floor number is {low}')
mid = math.floor((low + high)/2)
guess = numbers[mid]
if guess == num:
print(f'found it! The number index is {mid}')
break
else:
print('ELSE CASE')
print(guess)
output:
new floor number is 916
new ceiling number is 1374
new floor number is 1145
new floor number is 1259
new ceiling number is 1316
new floor number is 1287
new floor number is 1301
new ceiling number is 1308
new floor number is 1304
new ceiling number is 1306
found it! The number index is 1305
1411