首先,查詢的方式有很多種方法,比如:
二分查詢,順序查詢,斐波那契查詢,插值查詢,
但是基本都是基於二分查詢的思想。接下來說一下二分的基本實現方法。
二分查詢的思想其實很簡單,就是不斷地將你所要查詢的數字和你所查詢的陣列中的最中間的數字比較,如果比陣列中的中間的數字大,則將該陣列中的前面的所有的數字全部忽略,然後從後面的陣列開始比,如此反覆,直到找到該數字,或者數字不存在,找不到該數字。
二分關鍵是每次都要從最中間的數開始找,然後比較,直到最後找到最終結果。
public class erf ;
int target = 3;
int a = erfen(arr,target);
system.out.println(a); }
public static int erfen(int arr, int target)
if(arr[max]==target)
while(min<=max) else }
return -1;
}}
以上就是乙個二分查詢的簡單**,寫**的時候一定要注意自己的**邏輯,按照邏輯一步一步寫,首先要弄明白**自身所含有的基本的邏輯。 二分查詢問題
常見的二分查詢問題 1 給定排序陣列求乙個給定數在陣列中的下標,如果不存在就返回應該插入的位置 int searchinsert int a,int n,int target else return start 2 給定乙個 排序陣列,然後經過旋轉後,查詢給定值是否在陣列中。思路 1 先看左邊有序還...
二分查詢問題
二分查詢 要注意 1.迴圈判斷條件應該是 low high,否則在key值剛好等於某一次迴圈的high或者low時無法執行.2.middle low high low 2 防止溢位 3.根據問題要求選擇邊界值的改變方式 因為迴圈條件,最後會出現low和high在key的兩邊,且有關係low high...
迭代二分查詢二分查詢
在寫這篇文章之前,已經寫過了幾篇關於改迭代二分查詢主題的文章,想要了解的朋友可以去翻一下之前的文章 bentley在他的著作 writing correct programs 中寫道,90 的計算機專家不能在2小時內寫出完整確正的二分搜尋演算法。難怪有人說,二分查詢道理單簡,甚至小學生都能明確。不過...