前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java算法|二分查找

java算法|二分查找

作者头像
码农王同学
发布2020-07-08 15:23:25
3880
发布2020-07-08 15:23:25
举报
文章被收录于专栏:后端Coder后端Coder

0x01,二分查找概念

二分查找又称为折半查找,它是一种效率较高的查找方法,但是,折半查找要求线程表必须采用顺序存储结构,且表中的元素是有序的。

0x02,先进行数据元素的排序

折半查找的前提是有序,无论升序还是降序

0x03,折半查找的过程

首先,假设表中元素是按升序排列,将表中中间位置记录的关键字num[mid]与待查找的关键字进行比较,若相等,则查找成功,返回即可。否则继续判断,若num[mid]大于查找的元素值,则下标end=mid-1,若num[mid]<查找的值,则更新起始下标start=mid+1,重复以上过程,直到跳出循环条件,若可以找到则返回下标索引值,否则,返回-1。

0x04,折半查找示例程序

0x05,重点我们看下jdk提供的二分查找的实现方法

0x06,首先判断查找的数据,数组下标是否合法,不合法如何做,合法了然后进行算法的实现。

判断起始下标和终止下标是否合法,若不合法则直接抛出异常,这算是常用的手法进行数据的检查吧。

0x07,具体的实现过程

0x08,扩展内容

0x09,总结

整个实现的过程和我们的差不多,但是还是建议使用现成的方法,这样就会方便,这算是毕业后很长一段时间以来学习二分查找的内容了,到这里的理解就结束了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农王同学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档