C# 中的二分查詢
二分查詢在已排序的陣列上執行。將值與陣列中間元素進行比較。如果沒有找到相等值,則消除不會出現此值的一半範圍。這樣就可以搜尋到另外一半範圍。
以下是我們陣列中的中間元素。假設我們需要找到 62,那麼左半部分將被消除,接著搜尋右半部分,如下所示 −

以下是二分查詢的複雜性 −
| 最差情況效能 | O(log n) |
| 最佳情況效能 | O(1) |
| 平均效能 | O(log n) |
| 最差情況空間複雜度 | O(1) |
示例
我們來看看實現二分查詢的方法 −
public static object BinarySearchDisplay(int[] arr, int key) {
int minNum = 0;
int maxNum = arr.Length - 1;
while (minNum <=maxNum) {
int mid = (minNum + maxNum) / 2;
if (key == arr[mid]) {
return ++mid;
} else if (key < arr[mid]) {
max = mid - 1;
}else {
min = mid + 1;
}
}
return "None";
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP