算法初级:二分查找

二分查找,也称折半查找,是一种在有序表中查找元素的高效方法。算法要求线性表为有序,通常使用向量存储。在查找过程中,通过不断将查找区间缩小一半来提高效率。其时间复杂度为O(logn),但需要先进行排序,这可能是它的主要缺点。
摘要由CSDN通过智能技术生成

二分查找又称折半查找,它是一种效率较高的查找方法。

       二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。

/*折半查找*/
int Binary_Search(int a*,int n,int key)
{
    int low,high,mid;
    low=1;     /*定义最底下标为记录首位*/
    high=n;    /*定义最高下标为记录末位*/
    while(low<=high)
    {
        mid=(low+high)/2;    /*折半*/
        if(key<a[mid])
            high=mid-1;
        if(key>a[mid])
            low=mid+1;
        else
            return mid;
    }
    return 0;
}

算法分析

①  执行过程 

    设算法的输入实例中有序的关键字序列为

(05,13,19,21,37,56,64,75,80,88,92)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值