二分与三分
二分与三分
二分查找
二分查找是一种在有序数组中查找特定元素的搜索算法。
特点
- 时间复杂度:
- 空间复杂度:
- 适用于有序数组的查找和边界确定
分类
| 基础二分 | 查找目标值 | 返回任意位置 |
| 左边界二分 | 查找第一个位置 | 返回最左位置 |
| 右边界二分 | 查找最后一个位置 | 返回最右位置 |
| 浮点二分 | 实数域二分 | 精度控制 |
二分答案
二分答案是一种通过二分搜索可能解来找到最优解的技术。
特点
- 时间复杂度:
,其中
是判定的复杂度
- 空间复杂度:与判定函数相关
- 适用于最大值最小化或最小值最大化问题
分类
| 整数二分 | 离散解空间 | 精确解 |
| 实数二分 | 连续解空间 | 近似解 |
| 可行性二分 | 判定问题 | 最优化 |
| 最大化最小值 | 瓶颈问题 | 最大最小 |
三分查找
三分查找是一种用于查找单峰函数极值的搜索算法。
特点
- 时间复杂度:
- 空间复杂度:
- 适用于单峰/单谷函数的极值查找
分类
| 整数三分 | 离散函数极值 | 精确解 |
| 实数三分 | 连续函数极值 | 近似解 |
| 区间三分 | 区间最值 | 单调性 |
| 多维三分 | 高维函数极值 | 维度处理 |
应用场景对比
二分查找适合:
- 有序数组查找
- 边界值确定
- 旋转数组查找
- 插入位置查找
二分答案适合:
- 最大值最小化
- 最小值最大化
- 资源分配问题
- 调度问题优化
三分查找适合:
- 单峰函数极值
- 凸/凹函数最值
- 距离最值问题
- 最优分割点查找
选择建议
- 有序数组查找选择二分查找
- 最优化问题考虑二分答案
- 单峰函数极值选择三分查找
- 需要精确解时选择整数二分
- 需要近似解时选择实数二分
牛客代码笔记-牛栋 文章被收录于专栏
汗牛充栋,学海无涯。<br/> 内含算法知识点讲解,以及牛客题库精选例题。<br/> 学习算法,从牛栋开始。

