二分检索(分治法)

作者: 张的笔记本 | 来源:发表于2019-11-17 20:47 被阅读0次
int Binary_Search(int *Q, int start, int end, int x)//给定一个排好序的数组,找指定数的位置
{
    if (start > end)
           return -1;
    int mid = (start + end) / 2;
    if (x == Q[mid]){
          return mid;
    }
    else if (x < Q[mid])
         Binary_Search(Q, start, mid - 1, x);//不需要再把mid加入
    else
        Binary_Search(Q, mid + 1, end, x);
}

原理参见 屈婉玲老师 算法设计与分析 ORZ

相关文章

  • 二分检索(分治法)

  • 二分法查找

    什么是二分查找法? 二分法检索(binary search)又称折半检索,二分法检索的基本思想是设字典中的元素从小...

  • Java--二分法查找

      二分法检索(binary search)又称折半检索,二分法检索的基本思想是设数组中的元素从小到大有序地存放在...

  • 分治算法总结

    分治法学习总结 分治法是我们经常用到的算法,合理利用分治算法可以使我们更好的解决问题。我们在使用二分查找、归并排序...

  • 分治法

    分治法是一种把大问题分解为小问题逐个求解,再把结果合并的解决方案,分治法衍生出的算法包含二分查找、合并排序、快速排...

  • 常见的算法题实践

    常用的算法思想包括:枚举、递归、分治、贪心、试探、动态迭代和模拟等 冒泡排序 快速排序 链表 二分法也称为折半法,...

  • Divide and Conquer

    算法之 分治法 Divide and Conquer 分治法: 分治法的设计思想是:将一个难以直接解决的大问题,分...

  • 归并排序

    1、分治法 归并排序是完全遵循分治策略的排序算法。什么是分治法? 分治法,即将原问题分解为几个规模较小的子问题,递...

  • 分治法,动态规划及贪心算法区别

    原文:分治法,动态规划及贪心算法区别 1.分治法 分治法(divide-and-conquer):将原问题划分成n...

  • [算法导论]归并排序

    时间复杂度 《算法导论》2.3.1 分治法。 归并排序采用了分治法的递归排序。分治法:分解子问题,解决子问题,合并...

网友评论

    本文标题:二分检索(分治法)

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