下面是一个使用 Python 实现的二分查找算法示例代码:
def binary_search(arr, value): left, right = 0, len(arr) - 1 while left <= right: mid = (left + right) // 2 if arr[mid] == value: return mid elif arr[mid] < value: left = mid + 1 else: right = mid - 1 return -1 # 测试代码 arr = [1, 2, 3, 4, 5, 6, 7, 8, 9] index = binary_search(arr, 7) if index != -1: print("Found at index:", index) else: print("Not found")
在上述代码示例中,binary_search
函数使用 Python 实现了二分查找算法。该函数接收一个有序数组 arr
和要查找的值 value
,返回值为查找结果的下标。如果未找到要查找的值,则返回 -1。
在函数中,通过比较中间值与要查找的值的大小,不断更新数组的左右边界,最终在数组中查找指定元素。如果查找到指定元素,则返回该元素在数组中的下标;否则返回 -1。 在测试代码中,定义了一个有序数组 arr
,调用 binary_search
函数查找值为 7 的元素,并输出查找结果。
需要注意的是,Python 实现的二分查找算法不需要传入左右边界参数,因为 Python 中可以使用数组切片来实现对数组的划分。
评论