一維陣列之二分查詢

2022-05-31 09:18:09 字數 958 閱讀 9211

/**

* @param args

* @author wangxianpeng

* 工作原理  :

* 二分查詢法 又稱折半查詢法 。將陣列中間位置記錄的關鍵字與查詢的關鍵字進行比較,

* 如果兩者相等 則查詢成功; 否則利用中間位置記錄將陣列分成前,後兩個子陣列

* ,如果中間位置記錄的關鍵字大於查詢關鍵字,則進一步查詢前面的子陣列

* ,否則 進一步查詢後面的子陣列。重複以上的過程,直到找到或找不到為止。

* * 步驟:

* 1. 建立陣列  array並靜態初始化。

* * 2. 提示使用者 屬於要查詢的數 number

* * 3.宣告開始下標start, 結束下標 end ,中間下標 middle並賦值   。

* * 4.宣告下標號 index  並賦值為-1;

* * 5. 找出中間座標的公式是  middle = (start + end) / 2。

* * 6.if (number == array[middle]) 則把下 index = middle; break;

* * 7.if(number > array[middle])   則 start = middle +1;

* * 8.if(number < array;

7int start = 0;

8int end= array.length -1;

9int middel = 0;

10int index = -1;

1112

1314

15while (start <=end)

24else

if(number >array[middel])

27else30}

3132

if(array(number) == -1)

3536

37else

40 }

查詢之二分查詢

二分查詢前提查詢的序列需要有序 十分好理解 取中間值與目標值對比查詢 注意下數值邊界 public static void main string args int arr2 int arr3 int index binarysearch arr,34 int index2 binarysearch...

查詢演算法 一 之二分查詢

二分查詢也稱折半查詢 binary search 它是一種效率較高的查詢方法。但是,折半查詢要求線性表必須採用順序儲存結構,而且表中元素按關鍵字有序排列。首先,假設表中元素是按公升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功 否則利用中間位置記錄將表分成前 後兩個子表,...

二維陣列二分查詢

牛客網上面練的第一道程式設計題,終於有次百分之百通過了。思路 乙個for迴圈,每一行用個二分查詢,因為題目中陣列是有效的,所以很容易的就朝二分走了 publicclasssolutionelse returnresult publicbooleansearch intright,intleft,in...