阅读量:1
以下是一个简单的二分查找算法的Python代码实现:
def binary_search(arr, target): left = 0 right = len(arr) - 1 while left <= right: mid = (left + right) // 2 if arr[mid] == target: return mid elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return -1
使用该算法时,需要传入一个有序的数组 arr
和要查找的目标值 target
。函数会返回目标值在数组中的索引,如果目标值不在数组中,则返回 -1。
以下是一个使用示例:
arr = [2, 5, 8, 12, 16, 23, 38, 56, 72, 91] target = 23 result = binary_search(arr, target) if result != -1: print(f"目标值 {target} 在数组中的索引为 {result}") else: print("目标值不在数组中")
输出:
目标值 23 在数组中的索引为 5