二分法查詢演算法

2022-06-12 14:15:09 字數 1013 閱讀 9724

二分法演算法,也叫折半演算法,是一種檢索效率比較高的方式,當資料量較大時用二分法查詢會更快,但是資料需要先排好順序,可以呼叫.sort();方法進行排序。

先確定該區間的中間位置k(2)將要查詢的值t與array[k]比較。若相等,查詢成功返回此位置;否則確定新的查詢區域,繼續二分查詢。如果沒有查到,則將當前查詢區間將縮小一半,遞迴查詢,直到找到為止。

在檢索的時候我們需要先對其進行排序:

arrays.sort(arr);
為了便於操作,建議對其查詢方法進行封裝處理,定義好引數值:

public static int mybinarysearch(int arr,int value)
在寫這個方法之前我們需要先對其首位進行定義,我們可以對其宣告乙個變數:

int start=0;

int end=arr.length-1;

用while迴圈進行判斷:

while (start<=end)  

if (value>arr[mid])

if (value如果沒有查詢到,則返回-1。

定義main方法和宣告陣列。

public class rfenfa ;

}

然後呼叫封裝的mybinarysearch()方法,列印輸出就可以了。

system.out.println(mybinarysearch(arr, 42));
源**:

public class rfenfa ;

arrays.sort(arr); //排序

system.out.println(mybinarysearch(arr, 42)); //需要查詢的值

} public static int mybinarysearch(int arr,int value)

if (value>arr[mid])

if (value

查詢演算法 二分法

二分查詢演算法的基本思想 一.首先確定該區間的中間元素位置 mid low high 2 mid代表區間內中間元素的位置 low代表區間內最左邊元素的位置 high代表區間內最右邊元素的位置 二.將待查key元素值與中間元素mid的值 array mid 比較,如果相等,則查詢成功,否則確定新的查詢...

演算法 二分法查詢

1 2 二分法實驗 31 設a 0 n 1 是乙個已排好序的陣列.4請改寫二分搜尋演算法,使得當搜尋元素x不在陣列中時,5返回小於x的最大元素的位置i和大於x的最大元素位置j.6當搜尋元素在陣列中時,i和j相同,均為x在陣列中的位置.72 設有n個不同的整數排好序後存放於t 0 n 1 中,8若存在...

演算法 二分法查詢

免費 二分法查詢主要是為了快速查詢給定陣列內,期待值在陣列中的位置 下標 二分法查詢通過對整個陣列取中間值,判斷期待值所在的範圍並縮小範圍,每次查詢範圍折半,直到範圍的邊界重合,得出期待值的位置,如果找不到返回null 二分法有乙個先決條件是 陣列內元素必須是有序的 給定乙個包含1,3,5,7,8,...