python实现二分查找算法

2022-03-11 00:00:00 python 算法 查找

python实现二分查找算法,注意python里的两个整数相除得到的是浮点数,所以在求中间位置时需要进行类型转换

"""
作者:皮蛋编程(https://www.pidancode.com)
创建日期:2022/3/21
功能描述:python实现二分查找算法
"""


def binarySearch(array, key, low, high):
    if low > high:  # 终止
        return -1
    middle = int((low + high) / 2)  # 返回数组的中间位置
    if array[middle] == key:
        return middle
    elif key < array[middle]:
        return binarySearch(array, key, low, middle - 1)
    else:  #
        return binarySearch(array, key, middle + 1, high)


lst = [12, 48, 33, 226, 5423, 22, 68, 32, 11, 95]
print(binarySearch(lst, 22, 0, len(lst)))

输出结果:5
以上代码在python3.9环境测试通过。

相关文章