1、将中间标值mid的元素e取到数列中,进行查找元素key的比较。
2、如果相等查找成功,若不等,大于则只需在后半部分查找,小于则需在前半部分查找。
实例
def binary_search(my_list, key): left = 0 right = len(my_list) while left <= right: mid = (right - left) // 2 if my_list[left + mid] < key: left = left + mid + 1 elif my_list[left + mid] > key: right = left + mid - 1 else: return left + mid return "None" if __name__ == "__main__": my_list = [1, 3, 5, 7, 9, 11, 13] print("二分查找的原始数列:", my_list) print("二分查找的返回结果:", binary_search(my_list, 3))
以上就是python二分查找的原理,希望对大家有所帮助。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试