Python表示二分法
时间: 2024-05-13 21:11:27 浏览: 72
二分法(Binary Search)是一种常用的查找算法,它可以在有序数组中快速定位一个元素的位置。Python 中可以通过递归和非递归两种方式来实现二分法。
非递归实现二分法的代码示例如下:
```
def binary_search(arr, target):
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
```
递归实现二分法的代码示例如下:
```
def binary_search(arr, target, left, right):
if left > right:
return -1
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
return binary_search(arr, target, mid + 1, right)
else:
return binary_search(arr, target, left, mid - 1)
```
阅读全文