可以用python写一下二分查找么
时间: 2023-07-24 20:04:13 浏览: 77
当然可以!下面是一个用Python实现的二分查找算法的示例代码:
```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 = [1, 3, 5, 7, 9]
target = 5
result = binary_search(arr, target)
if result != -1:
print(f"目标元素 {target} 在数组中的索引为 {result}")
else:
print("目标元素不在数组中")
```
以上代码定义了一个`binary_search`函数,接受一个已排序的数组`arr`和目标元素`target`作为参数。函数通过不断缩小搜索范围来查找目标元素的索引,如果找到则返回索引,否则返回-1。
在示例中,我们定义了一个数组`arr`并设定目标元素为5。然后调用`binary_search`函数进行查找,并根据返回结果输出相应的提示信息。
请注意,输入的数组必须是已排序的,否则二分查找算法将无法正常工作。
阅读全文