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";
}

更新时间:2020-06-19

超过 10,000 次浏览

开启您的职业生涯

完成课程以获得认证

开始
广告