当前位置: 首页 > 编程笔记 >

C#二分查找算法实例分析

赖星驰
2023-03-14
本文向大家介绍C#二分查找算法实例分析,包括了C#二分查找算法实例分析的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了C#二分查找算法。分享给大家供大家参考。具体实现方法如下:

// input array is assumed to be sorted
public int BinarySearch(int[] arr, int x)
{
 if (arr.Length == 0)
  return -1;
 int mid = arr.Length / 2;
 if (arr[mid] == x)
  return mid;
 if (x < arr[mid])
  return BinarySearch(GetSubArray(arr,0,mid-1),x);
 else
 {
  int _indexFound = BinarySearch(GetSubArray(arr,mid+1,arr.Length-1),x);
  if (_indexFound == -1)
   return -1;
  else
   return mid + 1 + BinarySearch(GetSubArray(arr,mid+1,arr.Length-1),x);
 }
}
public int[] GetSubArray(int[] arr, int start, int end)
{
 List<int> _result = new List<int>();
 for (int i = start; i <= end; i++)
 {
  _result.Add(arr[i]);
 }
 return _result.ToArray();
}

希望本文所述对大家的C#程序设计有所帮助。

 类似资料:
  • 本文向大家介绍PHP折半(二分)查找算法实例分析,包括了PHP折半(二分)查找算法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP折半(二分)查找算法。分享给大家供大家参考,具体如下: 折半查询只适用于已经按照正序或者逆序排序的数组,字符串等; 算法: 先取数组的中间位置,无中间位置,则向下取整; 从中间进行折半,大小判断,进入前半段或者后半段; 再对前半段或者后半段进行同样

  • 主要内容:二分查找算法的实现思路,二分查找算法的具体实现二分查找又称 折半查找、 二分搜索、 折半搜索等,是在 分治算法基础上设计出来的查找算法,对应的时间复杂度为 。 二分查找算法仅适用于有序序列,它只能用在升序序列或者降序序列中查找目标元素。 二分查找算法的实现思路 在有序序列中,使用二分查找算法搜索目标元素的核心思想是:不断地缩小搜索区域,降低查找目标元素的难度。 以在升序序列中查找目标元素为例,二分查找算法的实现思路是: 初始状态下,将整个序列

  • 本文向大家介绍python有序查找算法 二分法实例解析,包括了python有序查找算法 二分法实例解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了python有序查找算法 二分法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2... 但是

  • 本文向大家介绍Java 二分查找算法的实现,包括了Java 二分查找算法的实现的使用技巧和注意事项,需要的朋友参考一下 二分查找又称折半查找,它是一种效率较高的查找方法。 折半查找的算法思想是将数列按有序化(递增或递减)排列,查找过程中采用跳跃式方式查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小 于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。通过一次比较,将查找区间缩小一

  • 主要内容:折半查找算法,折半查找的性能分析,总结折半查找,也称 二分查找,在某些情况下相比于顺序查找,使用折半查找算法的效率更高。 但是该算法的使用的前提是静态查找表中的数据必须是有序的。 例如,在 这个查找表使用折半查找算法查找数据之前,需要首先对该表中的数据按照所查的关键字进行排序: 。 在折半查找之前对查找表按照所查的关键字进行排序的意思是:若查找表中存储的数据元素含有多个关键字时,使用哪种关键字做折半查找,就需要提前以该关键字对所有数据

  • 本文向大家介绍C语言快速排序与二分查找算法示例,包括了C语言快速排序与二分查找算法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C语言二分排序与查找算法。分享给大家供大家参考,具体如下: 题目:首先产生随机数,再进行快速排序,再进行二分查找。 实现代码: 心得与体会: 二分查找比较容易理解,就是折半查找法,所以要求数据必须是有序数列。不断比较中间值。 快速排序是应用了递归,首先确定一