implementing binary search

This commit is contained in:
Artem Sergeev 2022-12-05 18:59:02 +02:00
parent 0f841ee61f
commit 8e4f4291b1
1 changed files with 25 additions and 0 deletions

View File

@ -0,0 +1,25 @@
import random
def binary_search(array, key, min_index, max_index):
if max_index <= min_index:
return -1
middle_index = (max_index + min_index) // 2
middle_value = array[middle_index]
if key < middle_value:
return binary_search(array, key, min_index, middle_index)
elif key > middle_value:
return binary_search(array, key, middle_index + 1, max_index)
else:
return middle_index
if __name__ == '__main__':
array = random.sample(range(100, 200), 70)
array = sorted(array)
value = 127
check_index = array.index(value)
found_index = binary_search(array, value, 0, len(array) - 1)
print(f'found index = {found_index}, check index={check_index}')