🧮 二分查找 (Binary Search)
难度 / Difficulty: 简单 (Easy)
分类 / Category: 查找 (Search)
时间复杂度 / Time Complexity: O(log n)
空间复杂度 / Space Complexity: O(1)
📖 算法简介 / Introduction
二分查找是一种在有序数组中查找目标元素的搜索算法。
Binary search is a search algorithm that finds the position of a target value within a sorted array.
💡 算法原理 / Principle
通过比较数组中间元素与目标值,每次将搜索范围缩小一半。
By comparing the middle element with the target, the search range is halved each time.
📝 代码实现 / Implementation
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
✨ 示例 / Example
在有序数组 [1,3,5,7,9,11,13] 中查找 7,返回索引 3。
Searching for 7 in sorted array [1,3,5,7,9,11,13], returns index 3.
🎯 适用场景 / Scenarios
排序数组搜索, 确定性问题, 近似查找
Sorted array search, Deterministic problems, Approximate search
🔄 扩展阅读 / Further Reading
- 建议在 LeetCode 或 HackerRank 上刷相关题目
- 尝试自己实现非递归版本
- 对比其他同类型算法的性能差异
| *本文由 AI 自动生成 | Generated by AI* |