本文的代码来自于《数据结构与算法(JAVA语言版)》,是笔者在网上找到的资料,非正式出刊版物。笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论。
  折半查找的基本思想是在有序数组中选定最中间的值,然后与待查找的值相比对,然后再进行折半查找。
  如图所示



输入:整型数组s,查找范围low、high,待查关键字key
输出:查找结果在s 中的位置
代码:

public int binSearch(int[] s, int low, int high, int key){while(low<=high){int mid = (low + high)/2;if (s[mid]==key) return mid;else if (s[mid]>key) high = mid - 1;else low = mid + 1;}return -1;
}

数据算法之折半查找(binSearch)的Java实现相关推荐

  1. 数据算法之折半插入排序(binInsertSort)的Java实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. 折半插入排序方法的思想是, ...

  2. 带有哨兵的顺序表查找和二分法查找(折半查找)(java)代码+说明

                                         带有哨兵的顺序表查找和二分法查找(折半查找)(java)代码+说明 一:带有哨兵的顺序表查找 1.算法设计:          ...

  3. 二分查找算法(折半查找算法)

    二分查找算法(折半查找算法) 二分查找又称折半查找.二分搜索.折半搜索等,是在分治算法基础上设计出来的查找算法,对应的时间复杂度为O(logn). 二分查找算法仅适用于有序序列,它只能用在升序序列或者 ...

  4. 经典算法之折半查找法

    活动地址:21天学习挑战赛 目录 一. 算法 概述 算法过程 二.代码实践 三.复杂度分析 时间复杂度 空间复杂度 四.优缺点分析 优点 缺点 一. 算法 概述 折半查找( Binary Search ...

  5. 数据结构之查找算法:折半查找

    查找算法:折半查找 思维导图: 算法思想: 代码实现: 判定树: 折半查找判定树的构造: 顺序查找与折半查找对比: 思维导图: 算法思想: 代码实现: typedef struct {int *ele ...

  6. 查找算法:折半查找算法实现及分析

    折半查找算法介绍 折半查找(Binary Search)又称为二分查找.它的前提是线性表中的记录必须是关键码有序(通常从小到大有序),线性表必须采用顺序存储.从算法名称可以看出算法的思路,先取有序序列 ...

  7. 递归与分治——二分查找算法(折半查找算法)

    二分搜索主要解决的问题是确定排序后的数组中是否包含目标元素val. 二分搜索通过持续跟踪数组中包含元素val的范围.分为两个过程,第一就是找到了,第二个就是没找到: 一开始,这个范围是整个数组,然后通 ...

  8. 21天打卡挑战 - 经典算法之折半查找

    ​​CSDN打卡活动产出 ​ 活动地址:CSDN21天学习挑战赛 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩:迟一天就多一天平庸的困扰.各位小伙伴,如果您: 想系统/深入学习某技术知识点- ...

  9. 经典算法之折半查找(BinarySearch)

    活动地址:CSDN21天学习挑战赛 算法 三分学,七分练,每天进步一点点. 文章目录 1. 概念 2. 伪代码 3. 代码实现 3.1 Java版本 3.2 Python版本 4. 算法效率分析 4. ...

最新文章

  1. vue 分模块打包 脚手架_手动撸一个webpack4脚手架(仿vuecli2)
  2. 前端工程师必备:学习资源全网罗
  3. Shell——运行Shell脚本
  4. 【Java I/O流】File、字符集、字节流、字符流、缓冲流、数据流、对象流、序列化、try-with-resources语句
  5. Java实现Excel中的NORMSDIST函数和NORMSINV函数
  6. 串-第4章-《数据结构题集》答案解析-严蔚敏吴伟民版
  7. atitit查询表修改表字段没反应--解锁锁定的表
  8. 洛谷—— P1018 乘积最大
  9. cad四级计算机考试,国家CAD等级考试介绍
  10. Linux 下rzsz最新安装方法
  11. js 随机选取动画_Three.js + GreenSock 模拟简单随机动画
  12. 如何禁止用户删除计算机服务,怎样才能禁止别人删除我电脑中的文件?
  13. apa引用要在文中吗_APA、MLA格式引用规范
  14. 730-高并发下秒杀系统怎么设计?
  15. 哈工大深圳计算机实验室介绍,实验室介绍
  16. 去掉whatsns问答系统页面底部隐藏的官网链接
  17. 阿里云机器学习PAI发布基于HLO的全自动分布式系统 TePDist,并宣布开源!
  18. 2014年计算机求职总结--准备篇 (顺便也带点自己在美国准备的总结吧)
  19. 程序员:为了提升自己的竞争力!哪些含金量高的证书可以考?
  20. web电子商城实现及源码

热门文章

  1. 99%的人都不知道的鸡兔同笼解法!
  2. 一个傻傻的尼姆游戏及其Python实现
  3. Python批量整理文件名小案例(附公众号第一批赠书活动中奖名单)
  4. linux定时刷新命令结果,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  5. 数据包络分析方法与maxdea软件_SEM常用的4种数据分析方法,让你的优化工作事半功倍!...
  6. php7 phpunit,Make phpunit catch php7 TypeError
  7. docker容器内没有yum命令_为什么不建议把数据库部署在Docker容器内?
  8. mac 2k显示器字体发虚_精准色彩体验-优派VP2785-2K
  9. C++之继承探究(八):动态绑定
  10. java关闭按钮代码_Java高手看看如何实现关闭按钮