python 二分法查找

def binary_search(lis, key):
    low = 0
    high = len(lis) - 1
    time = 0
    while low < high:
        time += 1
        mid = int((low + high) / 2)
        if key < lis[mid]:
            high = mid - 1
        elif key > lis[mid]:
            low = mid + 1
        else:
            # 
            print("times: %s" % time)
            return mid
    print("times: %s" % time)
    return False
 

LIST = [1, 5, 7, 8, 22, 54, 99, 123, 200, 222, 444]
result = binary_search(LIST, 99)
print(result)

  

原文地址:https://www.cnblogs.com/sea-stream/p/9689109.html