编程语言
首页 > 编程语言> > 二分查找非递归Algorithm(java)

二分查找非递归Algorithm(java)

作者:互联网

二分查找的适用条件

二分查找只适用于有序的数列中进行查找(比如数字和字母等),将数列排序后再进行查找
二分查找的运行时间为对数时间O(LONG2 N)

二分查找非递归的实现

/**
* @param arr 待查找的数据 升序排列
* @param target 需要查找的数
* @return 返回对应下标,-1表示没有找到
*/
public static int binarySearch(int[] arr ,int target)
  int left = 0;
  int right = arr.length-1;
  while(left<=right)
  {
   int mid = (left+right)/2;
    if(arr[mid] == target){
     return mid;
     }else if(arr[mid]>target){
      right =mid-1 ;//需要向左查找
    }else{
   left = mid+1;//需要右边查找
  }
 return -1;
  }


标签:二分,arr,right,java,Algorithm,递归,int,mid,查找
来源: https://www.cnblogs.com/doubleconquer/p/16187950.html