leetcode二分查找算法的详细总结
发布时间
阅读量:
阅读量
二分查找(binary search)是一种用于在有序数组中定位特定目标元素的搜索算法。该算法的执行流程始于数组的中间位置,若中间元素恰好为所要查找的目标,则整个搜索过程即告完成;若目标元素与中间元素存在大小差异,则将搜索范围限定于数组中对应的大于或小于中间元素的那一半区域,并继续以相同方式从新区域的中间位置进行比较。当某一步骤中搜索区间变为空时,表明目标元素不存在于数组之中。此算法在每次比较操作后,均可将当前的搜索区间缩减为原先的一半。二分查找算法在时间复杂度方面表现出对数级别的效率,适用于多种场景下的数据检索任务。

此类比较操作。
二分查找存在多种等价的实现方式,判断搜索循环的条件以及左右边界更新的方式需相互配合,否则可能会引发死循环或遗漏某些区域。在此提供两种框架,根据具体问题选择合适的框架进行处理。
常规的二分查找一般在左闭右闭区间[left, right]中执行搜索,其循环条件为

还没有任何评论哟~
