美文网首页
【算法打卡60天】Day13二分查找(上):如何用最省内存的方式

【算法打卡60天】Day13二分查找(上):如何用最省内存的方式

作者: 花生无翼 | 来源:发表于2020-02-28 17:47 被阅读0次

    Day13
    学习内容 : 二分查找(上):如何用最省内存的方式实现快速查找功能?

    1.无处不在的二分思想
    什么是二分查找?
    二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。
    常见的二分查找:猜字游戏

    2.O(logn) 惊人的查找速度
    二分查找的时间复杂度:O(logn)
    熟悉复杂度的推导过程

    3.二分查找的递归与非递归实现
    简单的二分查找:有序数组中不存在重复元素
    容易出错的3个地方

    1. 循环退出条件
      2.mid 的取值
      3.low 和 high 的更新

    二分查找除了用循环来实现,还可以用递归来实现

    4.二分查找应用场景的局限性
    二分查找只能用在数据是通过顺序表来存储的数据结构上
    其次,二分查找针对的是有序数据。
    再次,数据量太小不适合二分查找。
    最后,数据量太大也不适合二分查找。

    如何在 1000 万个整数中快速查找某个整数?
    答:先对这 1000 万数据从小到大排序,然后再利用二分查找算法。

    本文参考【极客时间】专栏《数据结构与算法之美》

    相关文章

      网友评论

          本文标题:【算法打卡60天】Day13二分查找(上):如何用最省内存的方式

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