二分

27 阅读1分钟

概述

二分算法是一种在有序数组中查找特定元素的搜索算法。其基本原理是通过不断缩小查找范围来逼近目标值。

基本原理

  1. 有序性:二分算法要求待搜索的数组必须是有序的(通常是升序或降序)。
  2. 缩小范围:算法通过比较目标值与数组中间元素的大小,将搜索范围缩小为原范围的一半。
  3. 循环迭代:重复上述过程,直到找到目标值或确定目标值不存在为止。

相关题目

题目思路
69. x 的平方根二分
704. 二分查找二分(注意数组可能有重复的情况)
35. 搜索插入位置二分(注意插入位置)
递增数组找差绝对值最小的数二分(注意特殊情况)
162. 寻找峰值二分(简单证明相邻位置大小关系的影响)
74. 搜索二维矩阵对每一行进行二分查找
240. 搜索二维矩阵 II和74一样的思路
4. 寻找两个正序数组的中位数二分找第k小的数
34. 在排序数组中查找元素的第一个和最后一个位置二分
LCR 172. 统计目标成绩的出现次数二分,和34题思路一样返回值不一样
33. 搜索旋转排序数组二分,比较中间值和端点值来确定顺序区间
153. 寻找旋转排序数组中的最小值二分
287. 寻找重复数二分 / 链表环
1146. 快照数组二分找最右边的值