• 技术文章 >Java >java教程

    java算法中的关于二分查找和折半查找的实例详解

    黄舟黄舟2017-05-21 10:21:15原创924
    这篇文章主要介绍了java 算法二分查找与折半查找的相关资料,需要的朋友可以参考下

    java 算法二分查找与折半查找

    折半查找 :首先数组是已经排好序的

    实例代码:

    package com.hao.myrxjava;
    
    /**
     * 折半查找 :首先数组是已经排好序的
     *
     * @author zhanghaohao
     * @date 2017/5/15
     */
    
    public class Halfpision {
    
      /**
       * 循环实现
       *
       * @param array 排好序的数组
       * @param value 查找的值
       * @return value在array的位置
       */
      public static int halfpision(int value, int[] array) {
        if (array == null || array.length == 0)
          throw new NullPointerException("array is null");
        int low = 0;
        int high = array.length - 1;
        int mid = (low+high)/2;
        while (array[mid] != value) {
          if (array[mid] > value)
            high = mid - 1;
          else
            low = mid + 1;
          if (low > high)
            return -1;
          mid = (low+high)/2;
          if (array[mid] == value)
            return mid;
        }
        return mid;
      }
    
      /**
       * 递归实现
       *
       * @param array 排好序的数组
       * @param value 查找的值
       * @param low 查找的起始位置
       * @param high 查找的末尾位置
       * @return value在array的位置
       */
      public static int halfpision(int value, int[] array, int low, int high) {
        if (low > high)
          return -1;
        int mid = (low + high) / 2;
        if (array[mid] == value)
          return mid;
        else if (array[mid] > value)
          return halfpision(value, array, low, mid - 1);
        else if (array[mid] < value)
          return halfpision(value, array, mid+1, high);
        return -1;
      }
    }

    以上就是java算法中的关于二分查找和折半查找的实例详解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:强大的Elastisearch搜索引擎在Java中使用的实例代码 下一篇:Java压缩解压zip技术之动力节点的详解(图)
    大前端线上培训班

    相关文章推荐

    • 理解java8中java.util.function.*pojo反射新方法(附代码)• 浅析安卓app和微信授权登录及分享完整对接(代码分享)• 教你一招搞定时序数据库在Spring Boot中的使用• 一招教你使用java快速创建Map(代码分享)• PlayFramework 完整实现一个APP(十一)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网