java实现二分查找-两种方式,二分法查找java代码

  java实现二分查找-两种方式,二分法查找java代码

  什么是二分法搜索:

  二分法是二分搜索法,它按顺序搜索指定的元素,设置最小索引(低)、最大索引(高-1)和中间值mid((低高-1)/2)。在这个搜索中,如果中间值小于指定元素,就让low=mid 1,如果中间值大于指定元素,就让height=MID-1;

  代码实现:(免费视频教程分享:java视频教程)

  导入Java . util . ArrayList;

  导入Java . util . arrays;

  导入Java . util . collections;

  导入Java . util . list;

  导入Java . util . scanner;

  公共类Main2 {

  公共静态void main(String[] args) {

  Scanner sc=新扫描仪(system . in);

  int arr[]={ 2,5,6,8,9,4,7 };

  数组. sort(arr);

  Int deix (index)=getxiabiao(arr,7);

  }

  public static int getxia Biao(int[]arr,int key) {

  int heigh=arr . length-1;

  int low=0;

  int mid=0;

  while (low=heigh) {

  mid=low(高-低)/2;

  if (arr[mid]==key) {

  返回mid

  } else if (arr[mid] key) {

  低=中1;

  } else if (arr[mid] key) {

  heigh=mid-1;

  }

  }

  return-1;

  }

  }中间值有两种设置方式;

  算法1: mid=(低高)/2

  第二种算法:mid=low(高低)/2

  算法一乍一看很简洁,算法二提取出来之后,和算法一没什么区别。但其实是有区别的。

  第一种算法,在极端情况下,(低高)有溢出的风险,进而得到错误的mid结果,导致程序出错,而第二种算法可以保证计算出的mid一定大于低小于高,不存在溢出问题。

  相关文章和教程推荐:java入门。以上是爪哇二分搜索法的详细情况。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: