以下是一个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 # 如果未找到目标值,返回-1# 测试my_list = [1, 3, 5, 7, 9, 11, 13, 15]target_value = 7result = binary_search(my_list, target_value)if result != -1: print(f"目标值 {target_value} 在列表中的索引是 {result}")else: print(f"目标值 {target_value} 未在列表中找到")
这个代码示例实现了一个二分查找算法,用于在已排序的列表中查找目标值。它通过不断将搜索范围缩小为左半部分或右半部分来快速定位目标值,从而提高了查找效率。如果找到目标值,它会返回目标值的索引,否则返回-1。