検索アルゴリズムの挿入
2158 ワード
def binary_search(lis, key):
low = 0
high = len(lis) - 1
time = 0
while low < high:
time += 1
# mid
mid = low + int((high - low) * (key - lis[low]) / (lis[high] - lis[low]))
if key < lis[mid]:
high = mid - 1
elif key > lis[mid]:
low = mid + 1
else:
#
print(" : %s" % time)
return mid
return False
if __name__ == '__main__':
LIST = [1, 5, 7, 8, 22, 54, 99, 123, 200, 222, 444]
result = binary_search(LIST, 22) #
print(' :', result)