java常用排序算法——二分查找(折半查找)概述

前言:

普通查找指的是把需要查找的数和数组中的数依次对应,直到找到该数字。但如果数据庞大,则会非常耗时间,降低性能,所以二分查找是一个好方法,记录下二分查找的使用心得。打好基础,daydayup!

 二分查找(折半查找)

二分查找:被查找数字每次与数组的中位数对比,若被查找数字大于中位数,则将数组比中位数小的数字舍弃,并在剩下的数字中继续取中位数与被查找数对比,直到被查找数与中位数匹配,停止查找;反之亦然,若被查找数字小于中位数,则将数组比中位数大的数字舍弃,继续对比,直到匹配

注: 如果使用二分查找,数组必须是顺序排列

数组顺序排列,可以看这篇:java常用排序算法——冒泡排序,选择排序概述

 实验案例:

得到一个混乱数组,将其排序后,找出数字的相应位置

操作思路:

1,进行排序,2,进行查找

操作步骤:

1,假设数组已经排好序。(排序不做叙述)

2,设置数组起始位置变量,和结尾位置变量。中位数位置=(起始位置+结尾位置)/2。

3,让被查找数与其进行对比。设置两种情况:1,被查找数字大于中位数;2,被查找数字小于中位数。

4,将两种情况建立循环,找到数字后跳出循环。但当初始位置变量大于结尾位置变量依旧没有找到数字时,说明数组中没有该数字,同样跳出循环。

示例如下:

总结:

二分查找虽然有官方的api,可以直接使用。但重要的是二分查找的逻辑,清晰的逻辑就是进步的开始,整理结束,撒花!!

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值