使用python语言写二分查找
时间: 2023-10-24 15:32:12 浏览: 50
当然可以!下面是使用Python语言编写二分查找的示例代码:
```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 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
target = 5
result = binary_search(arr, target)
if result != -1:
print("元素在索引 %d 处找到" % result)
else:
print("元素未找到")
```
这是一个基本的二分查找算法,它接受一个排序好的数组和目标元素作为输入,并返回目标元素在数组中的索引位置。如果目标元素不存在于数组中,则返回-1。
在上述示例中,我们定义了一个名为`binary_search`的函数,它使用了一个`while`循环来不断缩小搜索范围,直到找到目标元素或搜索范围为空。通过比较中间元素与目标元素的大小,我们将搜索范围缩小到左侧或右侧的一半,并重复此过程。
在示例调用中,我们创建了一个排序好的数组`arr`和一个目标元素`target`,然后调用`binary_search`函数来查找目标元素在数组中的索引位置,并根据返回结果进行相应的输出。
希望这能帮到你!如有任何疑问,请随时提问。