2019独角兽企业重金招聘Python工程师标准>>>

package Xhe.com;

//折半查找法(二分法)

public class halfSearch {
    public static void main(String[] args){
        int[] arr = {10,15,16,19,28,96,110,128,199};
        int index = halfSaerch(arr,28);
        System.out.println("index="+index);
        
    }
    public static int halfSaerch(int[] arr,int target){
        int max = arr.length-1;
        int min = 0;
        int mid = (max+min)/2;
        
        while(true){
            if(target>arr[mid]){
                min = mid+1;
                
            }else if(target<arr[mid]){
                max = mid-1;
            }else{
                return mid;
            }
            
            //重新计算中间值
            mid = (max+min)/2;
            //如果找不到
            if(max<min){
                return -1;
            }
        }
    }

}

转载于:https://my.oschina.net/xhe2016/blog/716761

java学习笔记之折半查找法(二分法)相关推荐

  1. 【算法学习笔记】二分查找法

    二分查找法 二分查找的本质就是分治法,小时候有过这么一种猜数字的游戏,你在心中想一个大于0小于100的数字,然后我来提问,你只用回答是或者不是,比如"你想的数字比50大吗" 你说不 ...

  2. Java 利用泛型实现折半查找法

    泛型到底厉害在什么地方? 可以大大减少我们的代码量,可以把我们从重复工作中解放出来,使我们更加专注于核心代码的实现,核心算法的编写. 举一个最简单的例子: 我们在学习数据结构时,为了理解方便和简化编程 ...

  3. 折半查找法.java

    哈喽,很高兴见到大家,这次是用java语言写的折半查找法,实际上, 小白通过对比C语言里的二分法,小白发现,这两种办法的原理相同. 可以参考高中学的查找零点的办法. import java.util. ...

  4. 二分法实战教学快速入门(折半查找法)

    //二分查找法(折半查找法) //主要思路:将一个顺序已经排好的数组如从小到大, //分别取第一位和末位为low和high,取mid为两者位置数的平均值 //输入key,每次在循环中判断key与mid ...

  5. java中折半查找思想_java折半查找法

    折半查找法是效率较高的一种查找方法.假设有已经按照从小到大的顺序排列好的五个整数a0~a4,要查找的数是X,其基本思想是: 设查找数据的范围下限为l=1,上限为h=5,求中点m=(l+h)/2,用X与 ...

  6. 折半查找法(二分法)流程图

    折半查找法漂亮的流程图 1.n维有序数组通过折半查找法查找数m,若查到则输出查找数字index,若没查到,则输出"not be found".

  7. 数据结构学习笔记(7.查找 8.排序)

    文章目录 第七章 查找 查找--基本概念 顺序查找 折半查找(二分法查找)--重要考点 分块查找 二叉排序树BST 平衡二叉树--AVL--重要考点 平衡二叉树的删除操作 红黑树--RBT 红黑树的插 ...

  8. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  9. Java学习笔记(java基础)

    Java学习笔记(第一周) Java 介绍 Java 发展方向 JVM , JDK , JRE 名词解释 Java语言的特点 Java安装 安装包的下载 配置环境变量 验证是否安装成功 Java的第一 ...

最新文章

  1. IT人士的人际关系压力
  2. 第三期 预测——Frenet 坐标
  3. PAT练习之字符串处理
  4. 【CV】多目标跟踪:监控领域你必须要了解的算法
  5. [翻译]Protocol Buffer 基础: C++
  6. linux键盘设置的文件在哪个文件夹,「正点原子Linux连载」第十五章按键输入试验...
  7. Windbg调优Kafka.Client内存泄露
  8. 应用程序连接Oracle rac的URL写法
  9. QT+FFMPEG实现视频播放
  10. 如何操作SAP UI5应用Footer区域工具栏按钮的背景颜色
  11. 隐藏马尔科夫模型HMM
  12. 【最好的伪原创工具】特别是你的描述中的关键字布局
  13. Object-c 中字符串与数组的处理
  14. 关于C中字符串的输入和输出使用的函数不同所造成的影响
  15. UHF-RFID基础知识
  16. [渝粤教育] 中国地质大学 信息资源管理 复习题
  17. 数模笔记之“Q值分配法、比例加惯例(D‘Hondt)” matlab代码
  18. 在隐身模式下使用 Chrome 扩展程序
  19. oracle 查询索引个数,Oracle数据库索引的创建和查询
  20. 机器学习与深度学习:微积分知识汇总

热门文章

  1. 不可不读的绝对英文经典
  2. android 7.0独立升级,爆料:Android 7.0用户将可自行升级!
  3. drbd配置文件_Linux数据安全工具:数据镜像软件DRBD的安装与配置
  4. python123程序设计题说句心里话_用c++写一个简单的计算器程序
  5. vc项目中加载多个lib遇到的问题
  6. python hashlib模块
  7. jQuery选择器和选取方法 http://www.cnblogs.com/MaxIE/p/4078869.html
  8. 编程之美计算0到N中包含数字1的个数
  9. 数据库中关于convert的参数学习(转化函数用法)
  10. java学习笔记12--异常处理