二分查詢演算法詳解以及java實現

2021-07-31 03:53:22 字數 980 閱讀 6325

二分查詢的基本思想:

對於一組資料:

數值22

3455

7789

9399

102120

140索引01

2345

6789

查詢資料77,99,34的流程:

對於77:

i=0, j=9, m=4, k=89>77  選擇左子表

i=0, j=3, m=1, k=34<77  選擇右子表

i=2, j=3, m=2, k=55<77  選擇右子表

i=3, j=3, m=3, k=77==77 查詢完畢

對於99:

i=0, j=9, m=4, k=89<99 選擇右子表

i=5, j=9, m=7, k=102>99 選擇左子表

i=5, j=6, m=5, k=93<99 選擇右子表

i=6, j=6, m=6, k=99==99 查詢完畢

對於34

i=0, j=9, m=4, k=89>34  選擇左子表

i=0, j=3, m=1, k=34==34  查詢完畢

程式實現:

package code.binarysearch;

public class solution else

} return index;

} public static void main(string args);

int index;

solution s=new solution();

index=s.binarysearch(test,100);

if(index>=0)else}}

二分查詢演算法 java

題目 在乙個有序陣列中查詢給定值得下標 其中有兩個前提,一是順序儲存結構,二是儲存結構已經是排好序的。給定前提 int array new int int num 50 intleft 0,right array.length 1 先看看直接用迴圈的方式 int index 1 int middle...

Java演算法 二分查詢

查詢 基本查詢 陣列元素無序 從頭到尾 二分查詢 折半查詢 陣列元素有序 分析 a 定義最大索引,最小索引 b 計算出中間索引 c 拿中間索引的值和要查詢的值進行比較 相等 就直接返回當前的中間索引 不相等 大 左邊找 小 右邊找 d 重新計算中間索引 大 左邊找 max mid 1 小 右邊找 m...

java 二分查詢演算法

二分查詢又稱折半查詢,它是一種效率較高的查詢方法。折半查詢的演算法思想是將數列按有序化 遞增或遞減 排列,查詢過程中採用跳躍式方式查詢,即先以有序數列的中點位置為比較物件,如果要找的元素值小 於該中點元素,則將待查序列縮小為左半部分,否則為右半部分。通過一次比較,將查詢區間縮小一半。折半查詢是一種高...