Python 二分查找
import random
def binary_search(array: list, value: int) -> bool:
"""
:param array: 有序列表
:param value: 查找的值
:return:
"""
array_length = len(array)
start_index, end_index = 0, array_length - 1
while start_index.__le__(end_index):
mid_index = (start_index + end_index) // 2
if value.__eq__(array[mid_index]):
return True
elif value.__lt__(array[mid_index]):
end_index = mid_index - 1
else:
start_index = mid_index + 1
return False
if __name__ == '__main__':
array = [i for i in range(100000000)]
value = random.randint(0, 1000000)
binary_search(array, value)