二分查找算法
二分查找:
请对一个有序数组
进行二分查找{1,8,10,89,1000,1234},输入一个数看看该数组是否存在此数,并且求出下标,如果没有就提示"没有这个数"。
二分查找的思路分析:
- 首先确定该数组中间的下标
mid=(left+right)/2 - 然后让需要查找的数findValue和arr[mid]比较
2.1 findValue>arr[mid],说明你要查找的数在mid的右边,因此需要递归的向右查找
2.2 findValue<arr[mid],说明你要查找的数在mid的左边,因此需要递归的向左查询
2.3 findValue==arr[mid],说明找到,就返回
什么时候我们需要结束递归?
1.找到就结束递归
2.递归完整个数组,仍然没有找到findValue,也需要结束递归,当left>right就需要退出了