資料結構與演算法簡述 二分查詢法

2021-09-06 13:16:33 字數 738 閱讀 9985

二分法查詢:二分查詢又稱折半查詢,每次查詢,將資料分為兩個部分,逐漸縮小查詢範圍,直到查到資料。

時間複雜度為log2n。

使用二分查詢要求:一是必須是順序儲存資料結構,二按關鍵字有序排列。

/**

* 二分查詢法

*/public class binarysearch else if (d < t[midindex]) else if (d > t[midindex])

} return -1; }

/*** 遞迴實現

*/public static int search2(int t, int d,int high,int low)

if(d == t[mid]) else if(d > t[mid]) else if(d < t[mid])

return -1;

}public static void main(string args) ;

system.out.println("re:" + binarysearch.search(t, 56));

system.out.println("re2:" + binarysearch.search2(t, 11, t.length-1, 0));

}}

二分查詢法優缺點

優點是查詢次數少,效能較高。

缺點是查詢的資料表要為有序排列,有一定的侷限性。

二分查詢適用於不經常變動查詢頻繁的有序列表。

資料結構與演算法之二分查詢法

public static void main string args 目標元素 int target 9 目標元素的索引 int index 1 記錄開始位置 int begin 0 記錄結束位置 int end arr.length 記錄中間位置 int mid begin end 2 迴圈查詢...

資料結構 二分查詢法

public class sequencesearch02 輸入乙個數看看該陣列是否存在此數,並且求出下標,如果沒有就提示 沒有這個數 思路分析 當陣列個數為奇數時 1.先定義乙個陣列 int nums 2.定義 下標low 0,上標height 6 middle指標為 low middle 2 3...

資料結構與演算法 二分查詢

二分查詢的思想是在已經排序 公升序 的陣列中,如果要查詢的數比中位數小,那麼其位置只可能在左半部分,相反只能在右半部分。這樣每次把查詢區間縮小一半,比順序查詢效率快得多。非遞迴寫法 public static int binarysearchinasclooply int nums,int star...