python二分查找算法代码怎么写

671
2023/10/16 3:03:03
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

下面是一个示例的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 = [2, 4, 6, 8, 10, 12, 14, 16]
target = 10
index = binary_search(arr, target)

if index != -1:
    print(f"目标元素 {target} 在数组中的索引位置为 {index}")
else:
    print("目标元素不存在于数组中")

此代码中的binary_search函数接受一个已排序的数组和目标值作为参数,并返回目标值在数组中的索引位置(如果存在),否则返回-1。算法使用一个while循环,每次迭代都将数组的搜索范围减半,直到找到目标值或确定它不存在为止。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: python如何将字符串变成数值