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