二分法查找算法(折半查找算法)

             二分法查找又叫折半法查找算法,就是在有序的数组内,找到特指的一个值。这里要注意有序,无序的话只能一个一个找了,正是因为有序,为了使程序跑的快,高效才有的二分法查找算法。

            逻辑:(默认从小到大的顺序)指定一个数,去数组内查找,先从中间开始判断,如果这个数比中间的数大,就让左边的数向右进一步,如果比中间的数小,就让右边的数进一步,就是使这个数不断逼进不断变化的中间数。

举例:在1-10内,从小到大的排序,我要求找到7,找到就输出其下标。

           运行的步骤:1-10的中间数是5,中间数的下标就是最左边和最右边的下标求和再除二 ,(0+9)/2=4;所以对应的中间数就是5,然后7比5大,所以左边的数进一位,也就是下标+1。那么就是(1+9)/2=5,所以对应的是6,7比6大,依旧是左边的下标+1,中间数下标变成(2+9)/2=5,依旧是6,所以左边下标+1,变成(3+9)/2=6,对应的数是7,所以这时7==7,找到了。当然如果找的数比中间数小,就是右边的下标-1。

            非常详细的讲解完毕,现在上代码:

//上面代码写的时0-9的数组,所以7的下标时7,正常情况应该是6。好了,今天的分享到此结束。

  希望每一位读者的代码能力不断提高,每天收获满满!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

动名词

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值