数据结构和算法分析

二分检索(分治法)

2019-11-17  本文已影响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

上一篇 下一篇

猜你喜欢

热点阅读