时代Java,与您同行!
关注微信公众号,关注前沿技术,微信搜索:nowjava或时代Java,也可点击这里扫码关注
时代Java
首页
集册
文章
实例
项目
快讯
时代+
手册
下载
Jar查找
登录
注册
Java 折半查找(二分查找)算法实例代码
Java 折半查找(二分查找)算法实例代码
欢马劈雪
工程师 (已认证)
原创分享签约作者
发表于
实例源码
订阅
1317
查看 / 运行 实例源码
折半查找(二分查找):每一次查找,将查找的区间从中间分为两部分,取其中一部分再次进行这样的查找。折半查找是一种高效的查找方法。它可以明显减少比较次数,提高查找效率。
实例源码:
源代码:
执行
执行中...
public class Search { public static void main(String[] args) { // 测试用例 int[] arr = { 2, 4, 5, 6, 8, 9, 12, 14, 23, 34, 46, 57, 68, 69, 78 }; int key = doSearch(arr, 69);// 查找69, 找到返回数组位置,否则返回-1 System.out.println(key); } private static int doSearch(int[] arr, int key) { int start = 0; // 因为数组下标从0开始,所以结尾是arr.length-1; int end = arr.length - 1; int middle = 0; while (start <= end) { // 每次没有找到时middle被重新赋值,并且用于之后的循环 middle = (start + end) / 2; // 如果侍查找元素等于数组中间数,则直接返回数组下标 if (key == arr[middle]) { return middle; // 如果侍查找元素大于数组中间数,则将范围缩小到后一半 } else if (key > arr[middle]) { start = middle + 1; /**代码未完, 请加载全部代码(NowJava.com).**/
编辑/阅读全部代码
执行结果:
13
本文系作者在时代Java发表,未经许可,不得转载。如有侵权,请联系nowjava@qq.com删除。
编辑于
2020-02-21 20:21:30
2020-02-21 20:21:30
Java
折半
查找
二分
实例
算法
分享
分享文章到朋友圈
分享文章到 QQ
分享文章到微博
复制文章链接到剪贴板
扫描二维码
关注时代Java
实例源码
实例源码
订阅
订阅专栏
Java 判断文件是否为文本文件及获取文件编码格式的方法实例
bootstrap 实例演示下拉菜单(Dropdown)插件用法。
HashSet、LinkedHashSet、TreeSet类存储元素的自动排序规则实例测试
html css 对于 body和h1设置的实例源码
Java 获取在线网页的源代码
Java HashSet添加、迭代输出字符串的完整示例代码
Java 随机整数数组
html css 设置背景图片定位并且不平铺
扫描二维码
关注时代Java
返回顶部