Java演算法 二分查詢

2021-08-02 03:32:13 字數 1100 閱讀 6067

/* * 查詢:

* 基本查詢:陣列元素無序(從頭到尾)

* 二分查詢(折半查詢):陣列元素有序

* 分析:

* a:定義最大索引,最小索引

* b:計算出中間索引

* c:拿中間索引的值和要查詢的值進行比較

* 相等:就直接返回當前的中間索引

* 不相等:

* 大 左邊找

* 小 右邊找

* d:重新計算中間索引

* 大 左邊找

* max=mid-1;

* 小 右邊找

* min=mid+1;

* e:回到步驟b

* */

public class arraydemo ;

// 寫功能實現

int index = getindex(arr, 33);

system.out.println("index:" + index);

// 加入這個元素不存在,則返回-1

index = getindex(arr, 333);

system.out.println("index:" + index);

} /*

* 兩個明確: 返回值型別:int 引數列表:intarr,int value

*/public static int getindex(int arr, int value) else if (arr[mid] < value)

// 加入判斷

if (min > max)

mid = (max + min) / 2;

} return mid;

}}結果:

二分查詢演算法 java

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

java 二分查詢演算法

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

java 二分查詢演算法

程式設計之美在於演算法之美,先來看看二分查詢的演算法 隱藏條件 二分查詢必須是有序的,從小到大,或從大到小的排序才能進行二分查詢,下面來看看 package com.cn.daming public class mainactivity 排序是從小到大 int aints2 new int 排序是從...