Python二分查找是一种快速查找有序数组中的元素的方法,它的基本思想是:选择数组中间的元素作为比较对象;比较中间元素与目标元素的大小;如果中间元素比目标元素大,则继续查找中间元素左边的子数组;如果中间元素比目标元素小,则继续查找中间元素右边的子数组;如果中间元素等于目标元素,则查找成功,返回相应的索引。
Python二分查找的使用方法如下:
# 二分查找函数 def binary_search(list, item): # low和high用于跟踪要在其中查找的列表部分 low = 0 high = len(list)-1 # 只要范围没有缩小到只包含一个元素,就持续查找 while low <= high: # 检查中间元素 mid = (low + high) // 2 guess = list[mid] # 匹配则返回索引 if guess == item: return mid # 猜的数字大了,把高位调低 if guess > item: high = mid - 1 # 猜的数字小了,把低位调高 else: low = mid + 1 # 没有找到元素 return None # 测试 my_list = [1, 3, 5, 7, 9] print(binary_search(my_list, 3)) # 输出 1 print(binary_search(my_list, -1)) # 输出 None
以上是Python二分查找的使用方法,它是一种非常有效的查找有序数组中的元素的方法。