用 Python 实现一个二分查找的函数
时间: 2024-05-10 13:15:44 浏览: 92
好的,以下是实现了二分查找功能的 Python 代码:
```python
def binary_search(arr, target):
"""
在一个已经排序的数组中使用二分查找算法查找特定目标值的位置。
:param arr: 已排序的数组
:param target: 要查找的目标值
:return: 如果找到返回目标值在数组中的索引位置,否则返回 -1。
"""
start, end = 0, len(arr) - 1
while start <= end:
mid = (start + end) // 2
if arr[mid] == target:
return mid
if arr[mid] < target:
start = mid + 1
else:
end = mid - 1
return -1
```
希望这个代码能够帮到您!
相关问题
python实现一个二分查找方法
可以使用以下代码实现一个二分查找方法:
```
def binary_search(arr, x):
low = 0
high = len(arr) - 1
mid = 0
while low <= high:
mid = (high + low) // 2
if arr[mid] < x:
low = mid + 1
elif arr[mid] > x:
high = mid - 1
else:
return mid
return -1
```
这个函数接收一个已排序的数组和需要搜索的元素。它会返回元素的下标,如果元素不在数组中则返回-1。
python二分查找函数
Python中的二分查找函数可以使用标准库中的`bisect`模块来实现。具体实现方法如下:
```python
import bisect
def binary_search(arr, x):
i = bisect.bisect_left(arr, x)
if i != len(arr) and arr[i] == x:
return i
else:
return -1
```
其中,`bisect.bisect_left(arr, x)`函数返回的是将`x`插入到有序数组`arr`中时,插入位置的索引。如果`x`已经在数组中,则返回它在数组中的索引。
阅读全文