算法入门之二分查找

本文介绍了二分查找算法,这是一种在有序序列中高效查找元素的算法。通过从序列中间开始查找,二分查找显著减少了搜索时间。文章提供了一个示例代码,并探讨了在未找到目标元素时如何返回其预期插入位置的修改方法。二分查找适用于数据库查询和各种查找效率要求高的场景。
摘要由CSDN通过智能技术生成

算法入门之二分查找

引入

  • 假设要在电话簿中找一个名字以K打头的人,(现在谁还用电话簿!) 可以从头开始翻页,直到进入以K打头的部分。但你很可能不这样做,而是从中间开始,因为你知道以K打头的名字在电话簿中间。 又假设要在字典中找一个以O打头的单词,你也将从中间附近开始。
  • 现在假设你登录Facebook。当你这样做时,Facebook必须核实你是 否有其网站的账户,因此必须在其数据库中查找你的用户名。如果你的用户名为karlmageddon,Facebook可从以A打头的部分开始查找,但更合 乎逻辑的做法是从中间开始查找。
  • 这是一个查找问题,在前述所有情况下,都可使用同一种算法来解 决问题,这种算法就是二分查找

简介

二分查找是一种算法,其输入是一个有序的元素序列。如果要查找的元素包含在该序列中,二分查找返回其位置;否则返回null。

示例

具体代码如下:

算法时间复杂度

思考

既然已经知道了二分查找的基本原理和用法,那么思考一下如果在未命中查找的情况下,要求返回这个目标元素将会被按顺序插入的位置,上面的代码又该做出如何的修改呢???

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值