Java二分法在已排序数组中查找指定数
2010-04-27 13:15
295 查看
public static int binarySearch(int[] sortedArr , int target){ int start = 0; int end = sortedArr.length - 1; do{ int mid = (start + end)/2; if(target > sortedArr[mid]){ start = mid+1; }else if (target < sortedArr[mid]){ end = mid - 1; }else{ return mid; } }while(start != end); // 未找到 return -1; }
此方法适用于已排好序的查找,未排序的话需要先排序再调用此方法。二分法对于已排序的数组效率较高,而对于未排序的数组因为需要先排序,效率可能比其他的方法稍低(加上排序的时间复杂度)。
相关文章推荐
- Java学习之数组1(1.数组的声明;2.元素为引用数据类型的数组;3.关于main方法里的String[] args;4.数组排序;5.数3退1 数组算法,(用数组模拟链表);6数组查找之二分法;7数组的拷贝)
- 七、数组及数组排序、二分法查找
- Java学习笔记_6_数组的排序和查找
- Java基础05-数组排序与查找
- Java使用二分法进行查找和排序的示例
- Java_数组操作_二分法查找
- java 用二分法(递归)实现查找指定元素
- java 实现二分法查找出数组重复数字
- java 数组比较,元素的比较,Comparable,Comparator比较的应用实现,排序,查找示例
- 《黑马程序员》java笔记->【02】数组的常见操作:遍历,排序,查找
- java选择排序,冒泡排序分析,附带二分法查找
- 【Java基础】选择排序、冒泡法排序、二分法查找
- 【Java】数组--二分法查找
- JAVA函数、数组讲解(案例:直接排序、冒泡排序、拆半查找(二分法))
- java基础-使用Arrays管理数组排序,复制,查找,填充
- java 排序与二分法查找代码
- Java基本功练习五(一维数组相关操作[声明、创建、乱序、排序、查找]和方法的重载举例[浅议])
- 【java】输入数组、数组排序及查找数组位置
- 黑马程序员 java基础 函数 数组 查找与排序总结
- java基础--常用数组的一些操作方法-查找-最值-排序