← 返回课程列表
第34课:二分查找
进度 0/36
⛶
🔍
二分查找
折半查找:超快的搜索!
📖
二分查找
📋
前提条件
数据必须已排序
✂️
折半缩小
每次折半,缩小一半范围
⚡
高效
时间复杂度O(log n),非常快
🔍
动手试一试
📝
代码沙盒
🔄 重置
▶ 运行
arr = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] target = 13 left, right = 0, len(arr) - 1 steps = 0 while left <= right: steps += 1 mid = (left + right) // 2 print(f"第{steps}步: 查找范围[{left},{right}], 中间arr[{mid}]={arr[mid]}") if arr[mid] == target: print(f"找到了!{target}在位置{mid}") break elif arr[mid] < target: left = mid + 1 else: right = mid - 1
💻
点击「运行」查看输出
首次运行需加载 Python 环境...
🎯
小测验
第1题:二分查找的前提是什么?
数据已排序
数据是整数
数据量小
无要求
第2题:二分查找的时间复杂度是?
O(n)
O(log n)
O(n²)
O(1)
📝
本课知识点
✓
二分查找要求数据已排序
✓
每次折半缩小范围
✓
O(log n)非常快
✓
left/right/mid三个指针
第34课完成!继续探索下一课吧 🚀
🧩
上一课
第33课
✓ 标记完成
下一课
第35课
🧩