利用递归实现折半查找
2017-10-16 14:02
148 查看
static void Main(string[] args)
{
int[] array = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int index = BinarySearch(array, 0, array.Length,5);
Console.WriteLine(index);
}
//利用递归实现折半查找
注意集合一定是要有序的,如果不是要对集合西先进行排序然后在查找
public static int BinarySearch(int[] arr, int low, int high, int key)
{
Console.WriteLine(“——-“);
int mid = (low + high) / 2;
if (low > high)
return -1;
else
{
if (arr[mid] == key)
return mid;
else if (arr[mid] > key)
{
{
int[] array = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int index = BinarySearch(array, 0, array.Length,5);
Console.WriteLine(index);
}
//利用递归实现折半查找
注意集合一定是要有序的,如果不是要对集合西先进行排序然后在查找
public static int BinarySearch(int[] arr, int low, int high, int key)
{
Console.WriteLine(“——-“);
int mid = (low + high) / 2;
if (low > high)
return -1;
else
{
if (arr[mid] == key)
return mid;
else if (arr[mid] > key)
{
return BinarySearch(arr, low, mid - 1, key); } else { return BinarySearch(arr, mid + 1, high, key); } } }
相关文章推荐
- 利用非递归方法实现二叉树的中序遍历
- 利用递归实现栈的逆转(转何海涛)
- 折半查找的递归与非递归方法实现
- 利用递归实现1到100以内的求和
- Java利用递归实现扫雷
- Java实现折半查找(二分查找)的递归和非递归算法
- m^n实现,利用递归的方法
- 折半查找的递归实现与qsort
- 利用MFC的CFtpConnection类实现递归下载文件夹
- Java实现折半查找(二分查找)的递归和非递归算法
- Javascript利用递归实现数组的快速排序
- python 利用递归实现全排列
- m^n实现,利用递归的方法
- 二叉树(利用栈和队列实现递归和非递归遍历,构建等)
- Android利用递归实现上下分屏幕播放视频
- php addslashes 利用递归实现使用反斜线引用字符串
- C++-----利用括号递归实现的加减乘除
- 利用递归方法实现任意进制转换的方法
- 折半查找的递归实现
- Python利用递归实现文件的复制方法