二分与三分

二分与三分

二分查找

二分查找是一种在有序数组中查找特定元素的搜索算法。

特点

  1. 时间复杂度:
  2. 空间复杂度:
  3. 适用于有序数组的查找和边界确定

分类

算法 问题描述 特点
基础二分 查找目标值 返回任意位置
左边界二分 查找第一个位置 返回最左位置
右边界二分 查找最后一个位置 返回最右位置
浮点二分 实数域二分 精度控制

二分答案

二分答案是一种通过二分搜索可能解来找到最优解的技术。

特点

  1. 时间复杂度:,其中 是判定的复杂度
  2. 空间复杂度:与判定函数相关
  3. 适用于最大值最小化或最小值最大化问题

分类

算法 问题描述 特点
整数二分 离散解空间 精确解
实数二分 连续解空间 近似解
可行性二分 判定问题 最优化
最大化最小值 瓶颈问题 最大最小

三分查找

三分查找是一种用于查找单峰函数极值的搜索算法。

特点

  1. 时间复杂度:
  2. 空间复杂度:
  3. 适用于单峰/单谷函数的极值查找

分类

算法 问题描述 特点
整数三分 离散函数极值 精确解
实数三分 连续函数极值 近似解
区间三分 区间最值 单调性
多维三分 高维函数极值 维度处理

应用场景对比

二分查找适合:

  1. 有序数组查找
  2. 边界值确定
  3. 旋转数组查找
  4. 插入位置查找

二分答案适合:

  1. 最大值最小化
  2. 最小值最大化
  3. 资源分配问题
  4. 调度问题优化

三分查找适合:

  1. 单峰函数极值
  2. 凸/凹函数最值
  3. 距离最值问题
  4. 最优分割点查找

选择建议

  1. 有序数组查找选择二分查找
  2. 最优化问题考虑二分答案
  3. 单峰函数极值选择三分查找
  4. 需要精确解时选择整数二分
  5. 需要近似解时选择实数二分
牛客代码笔记-牛栋 文章被收录于专栏

汗牛充栋,学海无涯。<br/> 内含算法知识点讲解,以及牛客题库精选例题。<br/> 学习算法,从牛栋开始。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务