美文网首页
查找-折半查找

查找-折半查找

作者: Co_zy | 来源:发表于2018-08-27 19:08 被阅读0次

给定一个有序序列,查找与key相等的值,如果没有则返回-1(注意这里不要返回0,会和数组下标重复)

#include <stdio.h>

int binary_search(int a[],int left,int right,int key)
{
    while(left <= right)
    {
        int mid = (left + right) /2;
        if(a[mid] == key)
            return mid;
        else if(a[mid] < key)
        {
            left = mid + 1;
        }
        else
        {
            right = mid -1;
        }
    }
    return -1;
}
int main()
{
    int a[] = {1,2,3,4,5,6,7,8};
    int index;
    int right = sizeof(a)/sizeof(int);
    index = binary_search(a,0,right-1,3);
    printf("%d",index);
    return 0;
}

相关文章

  • PHP查找算法

    静态查找 顺序查找 折半查找 递归折半查找

  • 算法(一)查找算法 平衡二叉树,红黑树,B树等

    顺序查找 略 折半查找 折半查找,也称二分查找,在某些情况下,折半查找比顺序查找效率更高(要求静态查找表中数据必须...

  • 查找算法

    1.顺序查找法 改进后的顺序查找法 2.折半查找法 3.插值查找 插值查找其实是折半查找的升级版,在我们写折半查找...

  • 重温数据结构_树表的查找

    线性表的查找的顺序查找和折半查找作为查找表的组织形式,其中折半查找效率较高。但由于折半查找要求表中记录按关键字有序...

  • C语言折半查找

    折半查找 折半查找的注意点折半查找只能查找有序数组的值 折半查找的逻辑1.把数组第一个元素的索引作为最小值,最后一...

  • 查找-折半查找

    给定一个有序序列,查找与key相等的值,如果没有则返回-1(注意这里不要返回0,会和数组下标重复)

  • java实现二分查找算法,两种方式实现,非递归和递归

    1、概念 概念:二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求...

  • 2018-08-27

    折半查找

  • 查找

    线性查找方式顺序查找 Sequential Search折半查找 Binary Search索引查找 Indexi...

  • 基本算法——二分查找算法

    二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采...

网友评论

      本文标题:查找-折半查找

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