二分法查找易错点解析

本文探讨二分法查找的易错点,通过有序数组示例,介绍查找过程,并通过改变指针范围、循环结束条件及指针走向分析可能的错误。指出左闭右开和左闭右闭情况下避免错误的条件,提供递归和非递归二分查找代码,附带测试用例。
摘要由CSDN通过智能技术生成

    今天我们来探讨一下二分查找的易错点和错误情况。首先我们知道二分法查找适用于有序数组或者顺序表。本文简单的以有序数组做例子,依次查找0,1,2,3,4,5,6,7,8,9,10是否存在,存在则输出数字所在的数组下标值,不存在则输出-1来表示。

    下面我们来梳理一下二分法查找的逻辑。

 

    举例说明二分查找的形式如下所示:

 

    经过测试发现递归和非递归二分查找的结果相同,只有当改变二分查找的指针范围、循环结束条件及指针走向趋势,才可能会导致错误。下面我们来分步改变这三个条件,而其他条件不改变。从而得到可能会出现的错误类型。整理如下:

指针范围

循环结束条件

指针走向趋势

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值