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

}

以上是 C#中的二进制搜索 的全部内容, 来源链接: utcz.com/z/321502.html

回到顶部