c++算法之二分查找

0)为什么感觉站点都没有人

1)什么是二分查找

二分查找,又称折半查找,即把数列分成两部分进行查找。

比如要在1,2,3,4,5,6,7,8,9,10中查找6,分成以下步骤:

1 查找中点5,由于5<6,则范围一定在6 7 8 9 10

2 查找中点为8,由于8>6,则范围在6,7之间。

3 中点为6,由于6就是要搜索的数,输出结果。

有两种方法,递归和非递归。

代码如下(为防止抄袭,发截图)

上为递归,下为非递归,两者都是在1,2,3,4,5,6,7,8,9,10中搜索5,并输出5的位置。

显然需要先排序。

其中mid=l+r>>1其实就是mid=(l+r)/2;

x>>1 <--> x/2

Alex172

  蔡徐坤打篮球是怎么回事呢?蔡徐坤相信大家都很熟悉,但是蔡徐坤打篮球是怎么回事呢,下面就让小编带大家一起了解吧。   蔡徐坤打篮球,其实就是蔡徐坤打篮球,大家可能会很惊讶蔡徐坤怎么会打篮球呢?但事实就是这样,小编也感到非常惊讶。   这就是关于蔡徐坤打篮球的事情了,大家有什么想法呢,欢迎在评论区告诉小编一起讨论哦!

相关推荐

4 条评论

  1. NSObject 23786

    不是说二分查找有三种模式吗
    分(l+r+1)/2和(l+r)/2
    和while(l<r) while(l<=r) while(l+1<r)
    r=mid r=mid + 1
    l=mid l=mid-1
    分好几种的啊
    (我们老师说的

    • Alex172

      (l+r+1)/2是为了防止死循环

  2. qyh

    审核通过

  3. Rolling_Code

    代码看不清/xyx

Leave a Reply

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

c++算法之二分查找
返回顶部

显示

忘记密码?

显示

显示

获取验证码

Close