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环境测试通过。
相关文章