1.编写二分查找法,找出某个值在给定的有序数组中的位置。Input: [1, 3, 5, 7, 9, 11, 13, 15], 11 Output: 6
时间: 2024-09-28 10:16:03 浏览: 25
JavaScript使用二分查找算法在数组中查找数据的方法
二分查找,也称为折半查找,是一种高效的搜索算法,适用于已排序的数组。其基本思想是每次将待查找区间缩小一半,直到找到目标值或者确定它不存在于当前区间。以下是使用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
# 如果没找到目标值,返回None或arr.length(取决于你的处理方式)
return -1 # 这里表示未找到,你可以根据需要修改返回值
# 测试示例
input_array = [1, 3, 5, 7, 9, 11, 13, 15]
target_value = 11
output_index = binary_search(input_array, target_value)
print("Output:", output_index) # 输出: 6
```
在这个例子中,当输入数组 `[1, 3, 5, 7, 9, 11, 13, 15]` 和目标值 `11` 被传递给 `binary_search` 函数时,它会返回 `6`,因为 `11` 在数组中的索引位置正好是第六个元素。
阅读全文