使用Python 写一个 二分查找
时间: 2024-04-10 09:08:06 浏览: 99
好的,请问您需要对数组进行排序吗?假设数组已经排好序了,我可以给您提供一个基本的二分查找实现。下面是代码示例:
``` 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, 2, 3, 4, 5, 6, 7, 8, 9]
target = 6
index = binary_search(arr, target)
if index != -1:
print("目标值在数组的第 %d 个位置" % (index + 1))
else:
print("没有找到目标值")
```
在这个示例中,我们通过不断缩小查找区间的范围来实现二分查找。如果中间元素正好是我们要查找的值,我们直接返回这个元素的下标;否则我们根据中间元素和目标值的大小关系确定接下来的查找范围,直到最后找到目标值或者发现没有目标值。
阅读全文