给我写一个二分查找算法
时间: 2023-03-12 07:06:39 浏览: 54
二分查找算法是一种在有序数组中搜索某个特定元素的技术。它的基本思想是:首先,选择数组的中间元素。如果该元素正好是我们要查找的元素,那么搜索过程结束;如果该元素大于我们要查找的元素,则在数组的前半部分继续搜索;如果该元素小于我们要查找的元素,则在数组的后半部分继续搜索。然后重复上述步骤,直到找到要查找的元素,或者搜索空间为空。
相关问题
帮我写一个二分查找算法
当然可以!以下是一个简单的二分查找算法的 Python 代码示例:
```python
def binary_search(arr, target):
"""
在已排序的列表arr中查找目标值target。
如果找到,返回目标值的索引;否则返回-1。
"""
left, right = 0, 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
```
该算法的时间复杂度为 O(log n),其中 n 为列表的大小。
给我写一段二分查找算法代码
好的,以下是二分查找算法的代码:
int binarySearch(int arr[], int left, int right, int target) {
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}