查找算法--二分查找
1、什么是二分查找 二分查找又称为 折半查找, 首先是从 有序数组(必须是有序数组) 的中间元素开始查找,如果中间元素是查找数,就返回; 如果中间元素大于或者小于查找数,就从大于或小于查找数的一方继续执行二分查找;没找到就返回空,二分查找和传统查找的差别可以看上图 2、二分查找代码思路: 确定该数组的中间下标mid mid=(left+right)/2 让待查找数target和arr[mid]比较 当target>arr[mid]时,说明查找数在mid右边,继续向右边递归查找 当target<arr[mid]时,说明查找数在mid左边,继续向左边递归查找 当target==arr[mid]时,说明查找数已经找到,返回 比较完后找不到,设置递归退出条件:left>right 3、代码实现: static List Index=new ArrayList(); //后面查找元素是多个时使用 public static void main(String[] args) { int arr[]={1,3,5,7,11,11,11,13,17,19,23,29,31,37,41}; Search(arr,0,arr.length-1,11); System.out.println(Index); } 当查找数是单个时: public static int Search(int[] arr