二分法查找算法
二分法查找算法 二分法算法,也叫折半算法,是一种检索效率比较高的方式,当数据量较大时用二分法查找会更快,但是数据需要先排好顺序,可以调用.sort();方法进行排序。 先确定该区间的中间位置K(2)将要查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。如果没有查到,则将当前查找区间将缩小一半,递归查找,直到找到为止。 在检索的时候我们需要先对其进行排序: Arrays.sort(arr); 为了便于操作,建议对其查找方法进行封装处理,定义好参数值: public static int myBinarySearch(int[] arr,int value) { } 在写这个方法之前我们需要先对其首位进行定义,我们可以对其声明一个变量: int start=0; int end=arr.length-1; 用while循环进行判断: while (start<=end) { int mid=(start+end)/2; if (value==arr[mid]) { return mid; } if (value>arr[mid]) { start=end+1; } if (value<arr[mid]) { end=mid-1; } } return -1; 如果没有查找到,则返回-1。 定义main方法和声明数组。 public