更新时间:2024-02-22 来源:黑马程序员 浏览量:

在Python中,实现二分查找通常有两种方法:
1.迭代法:
使用循环来实现二分查找算法。
2.递归法:
使用递归函数来实现二分查找算法。
下面是这两种方法的简单实现示例:
1.迭代法:
def binary_search_iterative(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 # 如果目标元素不在数组中,则返回 -1
2.递归法:
def binary_search_recursive(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_recursive(arr, target, mid + 1, right) else: return binary_search_recursive(arr, target, left, mid - 1) # 调用入口 def binary_search(arr, target): return binary_search_recursive(arr, target, 0, len(arr) - 1)
这两种方法都可以有效地在已排序的数组中查找目标元素的位置。迭代法使用循环来进行查找,而递归法则利用递归函数来实现。
AI鸿蒙原生智能正式版课程,培养全端跨平台鸿蒙工程师
2026-03-10AI鸿蒙原生智能正式版课程,培养全端跨平台鸿蒙工程师
2026-03-10毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03