python二分法查找代码怎么写

   2025-02-15 5820
核心提示:以下是一个用Python实现二分查找的代码示例:def binary_search(arr, target):low = 0high = len(arr) - 1while low = high:mid

以下是一个用Python实现二分查找的代码示例:

def binary_search(arr, target):    low = 0    high = len(arr) - 1      while low <= high:        mid = (low + high) // 2                if arr[mid] == target:            return mid        elif arr[mid] < target:            low = mid + 1        else:            high = mid - 1      return -1# 测试代码arr = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]target = 10result = binary_search(arr, target)if result != -1:    print("元素在索引位置", result)else:    print("元素不在数组中")

在此示例中,我们定义了一个名为binary_search的函数,该函数接受一个已排序的数组arr和目标值target作为参数。然后,我们使用lowhigh两个指针分别指向数组的最低和最高索引。

接下来,我们使用一个循环来迭代,直到找到目标元素或low大于high为止。在每次迭代中,我们计算出中间索引mid,并与目标元素进行比较。如果arr[mid]等于目标元素,则返回mid作为结果。如果arr[mid]小于目标元素,则将low指针移动到mid + 1,否则将high指针移动到mid - 1

如果循环结束时仍然没有找到目标元素,则返回-1表示目标元素不在数组中。

最后,我们使用一些测试代码来验证binary_search函数是否正确工作,并打印结果。在此示例中,目标元素10在数组中的索引位置为4。如果目标元素不在数组中,则打印"元素不在数组中"。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言