今天我们来探讨一下二分查找的易错点和错误情况。首先我们知道二分法查找适用于有序数组或者顺序表。本文简单的以有序数组做例子,依次查找0,1,2,3,4,5,6,7,8,9,10是否存在,存在则输出数字所在的数组下标值,不存在则输出-1来表示。
下面我们来梳理一下二分法查找的逻辑。
举例说明二分查找的形式如下所示:
经过测试发现递归和非递归二分查找的结果相同,只有当改变二分查找的指针范围、循环结束条件及指针走向趋势,才可能会导致错误。下面我们来分步改变这三个条件,而其他条件不改变。从而得到可能会出现的错误类型。整理如下:
| 指针范围 |
循环结束条件 |
指针走向趋势 |

本文探讨二分法查找的易错点,通过有序数组示例,介绍查找过程,并通过改变指针范围、循环结束条件及指针走向分析可能的错误。指出左闭右开和左闭右闭情况下避免错误的条件,提供递归和非递归二分查找代码,附带测试用例。
最低0.47元/天 解锁文章
777

被折叠的 条评论
为什么被折叠?



