Java二分查找算法
2016-05-29 12:07
246 查看
二分查找又称折半查找,将待查找的键key与数组中间值array[mid]比较,如果相等,则查找成功,
如果key小于数组中间值,则在数组前半段查找,如果key大于数组中间值,则在数组后半段查找,
如果没有则查找失败。
优点:查找速度快,比较次数少,平均性能好
缺点:要求待查表是有序表,插入、删除困难
递归方法:
如果key小于数组中间值,则在数组前半段查找,如果key大于数组中间值,则在数组后半段查找,
如果没有则查找失败。
优点:查找速度快,比较次数少,平均性能好
缺点:要求待查表是有序表,插入、删除困难
递归方法:
public static int search(int[] arr,int key){ int begin = 0,end = arr.length-1; while(begin<=end){ <pre name="code" class="java"> int mid = (begin+end)/2;if(arr[mid] == key)return mid;//查找成功返回key值下标else if(arr[mid] > key){end = mid-1;}else {begin = mid+1;}}return -1;//查找失败返回-1}
相关文章推荐
- spring+mybatis+ehcahce实现注解缓存
- Finereport与Java Web
- Java中构造函数的作用
- 【java并发】传统线程同步通信技术
- spring mvc中设置登录拦截器,报错:元素 "mvc:interceptors" 的前缀 "mvc" 未绑定。
- java迭代器--Iterator和Iterable接口
- [Java源码分析]ArrayList源码分析
- JAVA开发定义固定报文之转义字符
- DOS命令编译带有包名的JAVA类
- MyEclipse的Maven插件 安装与配置
- HDU1850 Being a Good Boy in Spring Festival(NIM统计)
- JavaWeb中使用JavaMail实现发送邮件功能实例详解
- log4j, log4j2 实用配置;log4j 2 异步配置
- Java基本程序设计
- Java千百问_03基础语法(012)_transient关键字有什么用
- JavaWeb实现打印功能
- springmvc--为什么用它
- Java Web用户登录实例代码
- 【实践派】Java实例的内存占用测试(一)
- 做一个简单的电脑操作界面