二分法查找     时间复杂度为O(logn)

public class BiSearch {  public static int search(int[] data, int find){int low = 0;
        int mid = 0;
        int upper = 0;if (null == data) {return -1;}

        upper = data.length - 1;while (low <= upper) {mid = (low + upper)/2;if (data[mid] > find) {upper = mid - 1;}else if (data[mid] < find) {low = mid + 1;}else {return mid;}}return -1;}public static void main(String[] args) {  int[] nums = { 55, 7, 28, -3, 1, 7, 29, 0, 5, 4 };  Bisearch.sort(nums, 10);  }
}

二分法查找(Java)相关推荐

  1. Java 二分法查找

    二分法查找的步骤 1 查找前元素先排序 2 确定中间区域的位置mid=(low+high)/2 3 比较 如果等于要查找的值则直接返回,如果大于查找的值,那么则去小的部分查找每次则会减1 如果要查找的 ...

  2. Java的知识点18——数组存储表格数据、冒泡排序的基础算法、冒泡排序的优化算法、二分法查找

    数组存储表格数据 package cn.dym08; import java.util.Arrays; public class Test09 {public static void main(Str ...

  3. java 二分法查找数组,Java二分法查找数组元素下标

    package pers.ly.javase.algorithm; import java.util.Arrays; /** * 二分法查找 * @author: Lu Yang * @date: 2 ...

  4. 二分法查找的JAVA程序

    二分法查找的JAVA程序 class HalfSearch {public static void main(String[] args) {int []arr={11,15,18,45,65,77, ...

  5. 二分法查找的java简单实现

    package com.example.demo;import java.util.Arrays;/*** 二分法查找*/ public class BinarySearch {public stat ...

  6. java二分法查找_java 中二分法查找的应用实例

    java 中二分法查找的应用实例 二分查找的前提是:数组有序 注意:mid的动态变化,否则出错!!! 实例代码: public class BiSearch { public static void ...

  7. java 二分法查找排序,插入排序,折半查找算法

    import java.util.*; /* *二分法排序和插入 */ class Main21 { public static void main(String[] args) { int[] ar ...

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

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

  9. java二分法查找_java实现二分法查找

    什么是二分法查找: 二分法也就是折半查找,在有序的数列中查找指定的元素,设定最小索引(low)和最大索引(height-1)还有中间值mid((low+height-1)/2),这种查找,如果中间值比 ...

最新文章

  1. [快速数论变换 NTT]
  2. dicom多帧转换_Python解析多帧dicom数据详解
  3. python list操作复杂度
  4. 建立基于以太坊的私有网络和智能合约
  5. Vue项目中公用footer组件底部位置的适配问题
  6. 更新node最新版本方法和 npm install -g n 运行错误
  7. Windows 10 IoT Core 17101 for Insider 版本更新
  8. 字节跳动 MySQL 学习笔记火了,完整版开放下载!
  9. 【Android】论ViewHolder存在的意义
  10. C#WinForm实现对前一篇文章中的SFTP工具类的使用
  11. Android 真实简历
  12. 计算机视觉 什么是图像配准?
  13. 只有黑社会才会说黑话
  14. 电脑重装系统如何在 Win11查看显卡型号信息
  15. cocos2d - 触摸事件
  16. python抓取抖音热门视频_要是30行代码!7步教会你Python爬取网页抖音热门视频
  17. 用JS解决那些有趣的数学题!
  18. python处理脱敏问题
  19. Cleve Moler - MATLAB 创始人金秋10月中国大学校园行
  20. 服务器做两个VD可以装系统,华为RH2288V5服务器创建多个VD(Virtual Disk)

热门文章

  1. mysql选择数据库创建数据库
  2. Centos7-Lvs+Keepalived架构实验详解
  3. (八)企业部分之nginx+tomcat+memcached负载均衡集群搭建
  4. Linux 灾难恢复 Linux 系统启动故障修复
  5. Android应用开发—eventBus发布事件和事件处理的时序关系
  6. 服务器内存延迟,内存带宽、延迟性能测试
  7. 计算机机房安全风险防控规范,中心机房安全风险分析一览表
  8. mongo的php查询,使用PHP进行简单查询的mongo查询速度慢
  9. python lambda map reduce_简单了解python filter、map、reduce的区别
  10. Python面试题(第二篇)