美文网首页
二分查找算法递归实现

二分查找算法递归实现

作者: bupt_huangwei | 来源:发表于2014-04-23 17:05 被阅读0次

引自Wikipedia 折半搜索算法

//递归版本    
int binary_search( const int arr[], int low, int high, int key)    
{
    
    int mid = low+(high-low)/2;  // Do not use (low+high)/2 which might encounter overflow issue
    
    // not found
    if(low>high)
        return -1;
        
    if(arr[mid]==key)
        return mid;
    else if(arr[mid]>key)
        return binary_search(arr,low,mid-1,key);
   else 
        return binary_search(arr,mid+1,high,key);
}

相关文章

  • 二分查找

    1.非顺序表查找最大值递归算法 2.顺序表的二分查找算法查找下标最小的特定元素x 递归实现 非递归实现

  • 二分查找

    数据顺序存储,有序序列 O(logn) 递归实现二分查找: 非递归实现二分查找:

  • 二分查找

    二分查找是一种查询效率非常高的查找算法。又称折半查找。 起初在数据结构中学习递归时实现二分查找,实际上不用递归也可...

  • java实现二分查找-两种方式

    二分查找是一种查询效率非常高的查找算法。又称折半查找。 起初在数据结构中学习递归时实现二分查找,实际上不用递归也可...

  • 算法2:递归算法与二分查找

    3.递归算法3.1斐波那契数列(递归)3.2汉诺塔3.3八皇后问题4.⼆分查找递归实现 4.1二分递归查找: 3....

  • 简单算法

    冒泡排序: while 实现的二分查找: 递归实现二分查找:

  • 二叉树的插入和搜索--python实现

    本文首先介绍了二分查找法,采用“循环”和“递归”2种方法实现。采用递归算法实现了二叉树的插入和搜索算法。 一、二分...

  • 2.3 二分查找的递归与非递归实现

    Chapter2: 时间复杂度分析、递归、查找与排序 3. 二分查找的递归与非递归实现 二分查找即折半查找,为查找...

  • 2.3 二分查找的递归与非递归实现

    Chapter2: 时间复杂度分析、递归、查找与排序 3. 二分查找的递归与非递归实现 二分查找即折半查找,为查找...

  • 剑指offer学习笔记:2.4 算法和数据操作

    2.4 算法和数据操作 重点关注二分查找,归并排序和快速排序。很多算法都有递归和循环两种不同实现方法。通常基于递归...

网友评论

      本文标题:二分查找算法递归实现

      本文链接:https://www.haomeiwen.com/subject/cttrtttx.html