二分法及Python实现
时间: 2024-05-27 16:06:36 浏览: 159
Python二分法
二分法(Binary Search)是一种常见的查找算法,也叫折半查找。它要求待查找的序列必须有序。每次取中间位置的值与待查关键字进行比较,如果中间位置的值比待查找的值大,则在序列的左半部分继续执行查找;如果中间位置的值比待查找的值小,则在序列的右半部分继续查找,直到查找到为止。
Python实现二分查找可以使用以下代码:
```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
```
其中,`arr`为待查找的有序序列,`target`为待查找的关键字。这个函数返回关键字在序列中的索引,如果没有找到则返回-1。
阅读全文