java算法|二分查找

java算法|二分查找_第1张图片

0x01,二分查找概念

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

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

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

0x03,折半查找的过程

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

0x04,折半查找示例程序

java算法|二分查找_第2张图片

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

java算法|二分查找_第3张图片

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

java算法|二分查找_第4张图片

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

0x07,具体的实现过程

java算法|二分查找_第5张图片

0x08,扩展内容

java算法|二分查找_第6张图片

0x09,总结

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

你可能感兴趣的:(java算法|二分查找)