重慶達內IT培訓
美國上市IT培訓機構

15023458194

重慶java培訓機構:二分查找

  • 時間:2021-04-07 13:36
  • 發布:重慶達內
  • 來源:重慶達內

當我們需要在已排好序的數組中尋找到特定值時,可以使用二分查找,效率高。

所需要用到的工具:左指針、右指針、mid指針

思想:左指針右指針分別對應該元素所在數組中的范圍邊界,初始化值為0和a.length;取中間值=(左指針+右指針+1)/2,這樣就得到兩個個區間(左指針,mid)(mid,右指針),判斷mid處的值與待確定位置值(S)的大小關系,若mid>S,說明S的位置應該在左區間,反之則在右區間。然后取對應的區間,再次如法炮制,遞歸求解后得到正確結果。

public class BinarySearch {

public static void main(String[] args) {

// TODO Auto-generated method stub

int[] a = new int[] {1,2,4,6,7,9,11,15};

System.out.println(BinarySearch.binarySearch(a, 0, a.length, 10));

}

static boolean isFind = false;

public static int binarySearch(int[] a,int left,int right,int search) {

while(!isFind)

{

if(left>=right) break;

int mid = (left+right+1)/2;

if(a[mid] > search) {

right = mid-1;

}else if(a[mid] < search) {

left = mid+1;

}else if(a[mid] == search) {

isFind = true;

left = mid;

}

}

if(!isFind) left = -1;

return left;

}

}

上一篇:重慶java培訓:io流(緩沖字節流)
下一篇:重慶java培訓班:關于動態規劃法

重慶Java培訓課程大綱之培優班

重慶Java大數據培訓課程大綱

重慶java培訓:面向對象編程

重慶java培訓班:關于動態規劃法

  • 關注微信公眾號

    回復關鍵字:視頻資料

    免費領取 達內課程視頻學習資料

  • 視頻學習QQ群

    添加QQ群:1143617948

    免費領取達內課程視頻學習資料

Copyright ? 2018 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

選擇城市和中心
江西省

貴州省

廣西省

海南省

免费V片无码动漫在线观看网址-男人的天堂无码动漫av