专业的JAVA编程教程与资源

网站首页 > java教程 正文

高级Java面试之二分法查找_java二分查找算法代码

temp10 2025-09-13 09:12:35 java教程 5 ℃ 0 评论

二分法是基础算法里比较简单的算法,其前提条件是数组已经排好序。二分法查找是在面试尚德机构时,问到的面试题。面试官要求手写二分法的代码。所以正在找工作或者即将找工作的童鞋,需要好好理解该算法及其实现。

核心思想:

高级Java面试之二分法查找_java二分查找算法代码

如果 value==arr[mid],中间值正好等于要查找的值,则返回下标,return mid;

如果 value<arr[mid],要找的值小于中间的值,则再往数组的小端找,high=mid-1;

如果 value>arr[mid],要找的值大于中间的值,则再往数组的大端找,low=mid+1;

/**
 * 二分法查找数据
 */
public int binarySearch(long value) {
   int middle = 0;
   int low = 0;
   int pow = elements;
   
   while(true) {
      middle = (pow + low) / 2;
      if(arr[middle] == value) {
         return middle;
      } else if(low > pow) {
         return -1;
      } else {
         if(arr[middle] > value) {
            pow = middle - 1;
         } else {
            low = middle + 1;
         }
      }
   }
}

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表