美文网首页
简单易懂的二分查找

简单易懂的二分查找

作者: HeoLis | 来源:发表于2019-05-16 11:38 被阅读0次
//
// Created by heolis on 19-5-16.
//
#include <bits/stdc++.h>

using namespace std;

/*
 * A[]:严格递增序列
 * left:二分下界
 * right:二分上界
 * x:要查询的数
 * 注意:二分区间为左闭右闭区间
 */
int binarySearch(int A[], int left, int right, int x) {
    int mid;    // 中点
    while (left <= right) {
        mid = (left + right) / 2;
        if (A[mid] == x)return mid;
        else if (A[mid] > x) {
            right = mid - 1;
        } else {
            left = mid + 1;
        }
    }
    return -1;
}


int main() {
    const int n = 10;
    int A[n] = {1, 3, 4, 6, 7, 8, 10, 11, 12, 15};
    printf("%d %d\n", binarySearch(A, 0, n - 1, 6), binarySearch(A, 0, n - 1, 9));
    
    return 0;
}

相关文章

  • 简单易懂的二分查找

  • 《数据结构与算法之美》12——二分查找

    二分查找是一种非常简单易懂的快速查找算法,生活中随处可见,比如数字炸弹游戏。 二分查找针对的是一个有序的数据集合,...

  • 二分查找

    二分思想 二分查找是一种非常简单易懂的查找算法,它的思想在生活中也随处可见。比如,我们很常见的猜字游戏:我随机想一...

  • python二分查找算法

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

  • 二分查找

    二分法 二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2...例如需要查找有...

  • 二分查找

    二分查找的核心思路 二分查找,也叫折半查找。是针对有序数据的一种快速查找算法。 二分查找的思想非常简单,就是在区间...

  • python使用二分法实现在一个有序列表中查找指定的元素

    二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2... 例如需要查找有序li...

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

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

  • 每天学习一点儿算法--散列表

    在之前我们已经学过了二分查找和简单查找,我们知道二分查找的运行时间为O(㏒ n), 简单查找的运行时间为O(n)。...

  • 8二分查找

    二分查找是一种非常简单易懂的快速查找算法,生活中到处可见。比如说,我们现在来做一个猜字游戏。我随机写一个 0 到 ...

网友评论

      本文标题:简单易懂的二分查找

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