当IT技术总监面试问:如何在Python中实现一个二分查找算法?

二分查找算法是一种在有序数组中查找特定元素的高效算法。它通过比较数组中间元素和目标值来工作,如果中间元素与目标值相等,则查找成功;如果目标值小于中间元素,则在数组左半部分继续查找;如果目标值大于中间元素,则在数组右半部分继续查找。这个过程重复进行,直到找到目标值或搜索范围为空。

以下是Python中实现二分查找算法的详细代码:

```python
def binary_search(arr, target):
    left, right = 0, len(arr) - 1

    while left <= right:
        mid = left + (right - left) // 2  # 计算中间索引,防止溢出
        mid_value = arr[mid]

        if mid_value == target:
            return mid  # 找到目标值,返回索引
        elif mid_value < target:
            left = mid + 1  # 在右半部分继续查找
        else:
            right = mid - 1  # 在左半部分继续查找

    return -1  # 未找到目标值,返回-1

# 示例使用二分查找
arr = [1, 3, 5, 7,

猜你喜欢

转载自blog.csdn.net/guo162308/article/details/143467625