本篇文章讲解的知识点主要围绕数组 废话不多说 只分享Java相关的干货二分法 折半法 查找查找数组中的元素我们可以遍历数组中的所有元素 这种方式称为线性查找。线性查找适合与小型数组 大型数组效率太低。如果一个数组已经排好序 那
本篇文章讲解的知识点主要围绕数组,废话不多说,只分享Java相关的干货!
二分法(折半法)查找
查找数组中的元素我们可以遍历数组中的所有元素,这种方式称为线性查找。线性查找适合与
小型数组,大型数组效率太低。如果一个数组已经排好序,那么我们可以采用效率比较高的二
分查找或叫折半查找算法。
见示例
假设,我们准备采用二分法取得18在数组中的位置
第一步,首先取得数组0~9的中间元素
中间元素的位置为:(开始下标0 +结束下标9)/2=下标4
通过下标4取得对应的值15
18大于15,那么我们在后半部分查找
第二步,取数组4~9的中间元素
4~9的中间元素=(下标4 + 1 +下标9)/2=下标7
下标7的值为18,查找完毕,将下标7返回即可
以上就是二分或折半查找法,此种方法必须保证数组事先是排好序的,这一点一定要注意
【示例代码】
public class BinarySearchTest01 {