美文网首页
2021-06-26 二分查找

2021-06-26 二分查找

作者: 竹blue | 来源:发表于2021-06-26 17:02 被阅读0次

概念

  1. 二分查找针对的是一个有序集合,查找思想类似分治思想。
  2. 每次都通过跟区间的中间元素对比,将待查找的区间缩小为原来的一半,直到找到要查找的元素,或者区间被缩小为0。
  3. 适合处理静态数据,也就是没有频繁插入。删除的数据。

编写代码要点

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

应用

  1. 二分查找只能用在数据是通过顺序表(数组)来存储的数据结构上。
  2. 二分查找针对的是有序数据,如果数据是无序的,需要先排序。
  3. 数据量太小不适合二分查找,直接顺序遍历即可。
  4. 数据量太大也不能用二分查找。

4个常见变形问题

  1. 查找第一个值等于给定值的元素。
  2. 查找最后一个值等于给定值的元素。
  3. 查找第一个大于等于给定值的元素。
  4. 查找最后一个小于等于给定值的元素。

变形问题出错要点

  1. 终止条件
  2. 区间上下界更新方法
  3. 返回值选择

相关文章

  • 2021-06-26 二分查找

    概念 二分查找针对的是一个有序集合,查找思想类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为原来...

  • python二分查找算法

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

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

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

  • 二分查找

    [TOC] 二分查找的基础模板 二分查找靠左的Index基础模板 二分查找靠右的Index基础模板 二分查找插入t...

  • 二分查找法

    二分查找法 二分查找法(递归)

  • 二分查找(递归、非递归)

    二分查找(递归) 二分查找(非递归)

  • 二分查找(递归、非递归)

    二分查找(递归) 二分查找(非递归)

  • 二分查找

    什么是二分查找?二分查找,也叫折半查找(Binary Search),它是一种效率较高的查找方法。二分查找的条件:...

  • 分治算法(swift二分法排序递归实现)

    二分查找 1、二分查找(Binary Search) 2、二分查找的基本思想 swift算法实现

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

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

网友评论

      本文标题:2021-06-26 二分查找

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