美文网首页开源时代C语言C++
查找算法——二分查找

查找算法——二分查找

作者: NiceBlueChai | 来源:发表于2017-10-12 15:37 被阅读18次

二分查找,也称折半查找
目的:提高查找速度(当查找性能成为问题时,考虑使用二分查找)

使用前提:(较为严格)
已经排好序(升序或降序)的数组

算法思想
每次跟中间元素mid比较,如小于mid,则在前半部分;若大于mid,则在后半部分,若等于mid,则查找完成。

示例代码

//增序排列的二分查找
int bin_find(const int arr[], int len, int val)
{
    int low = 0;
    int hight = len - 1;
    while (low<=hight)
    {
        int mid = (hight + low) / 2; //中间位置
        if (arr[mid] == val)
        {
            return mid;//找到了
        }
        else if(arr[mid]>val)
        {
            hight = mid - 1;//比中间项小,则在左侧
        }
        else
        {
            low = mid + 1;//比中间项大,则在右侧
        }
    }
    return -1;
}

int main()
{
    int data[8] = { 54,0xa1,0x7f,12,10,9,98,119 };

    int bin_num = bin_find(data, 8, 12);

    return 0;
}
  • 与遍历查找比较
    查找速度优于遍历查找,
    最多查找log2(N)次
    最少查找1次

❤️


相关文章

  • 数据结构和算法--二分查找

    二分查找 二分查找的思想 二分查找(Binary Search)算法,也叫折半查找算法。 二分查找针对的是一个有序...

  • 可查找重复元素的二分查找算法

    可查找重复元素的二分查找算法 二分查找算法思想:又称为 折半查找,二分查找适合对已经排序好的数据集合进行查找。假设...

  • 数据结构与算法系列——二分查找

    二分查找算法的简单介绍 今天我们来学习一下二分查找算法,也叫做折半查找算法。使用二分查找算法的前提是数据需要是有序...

  • 算法

    一.算法基础--算法的特性 二.算法基础--算法的复杂度 三.顺序查找和二分查找 顺序查找 二分查找(前提是有序的...

  • 二分查找算法

    一、二分查找算法 二分查找算法又称为折半查找算法,它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序...

  • 二分查找算法

    @(算法集) 二分查找算法 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,...

  • 15-二分查找(上):如何用最省内存的方式实现快速查找功能?

    一种针对有序数据集合的查找算法:二分查找(Binary Search)算法,也叫折半查找算法。 二分查找针对的是一...

  • python二分查找算法

    文章概述 二分查找法介绍 简单查找与二分查找对比 二分查找  二分查找算法主要思想:在有序列表中查找指定元素,先从...

  • 排序算法

    算法与数据结构基础 查找算法: 二分查找法: 简介:二分查找法又被称为折半查找法,用于预排序的查找问题 过程: 如...

  • day13

    查找算法 顺序查找 二分查找 差值查找 斐波那契查找 二分查找 前提数组必须是有序的。 升级 Interpolat...

网友评论

    本文标题:查找算法——二分查找

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