access查找楼号为01_鬼斧神功的方法:二分查找

c62a14a9a9121976966450e135deef86.gif

本周系列课程由@suzyzhang老师带来数组题里面鬼斧神工的方法讲解。

包括并不限于:

  • 二分三分查找

  • 滑动窗口

  • 单调栈

236ca25c9fefec000911757123639484.png

01 

二分查找

Binary Search

二分查找算法(binary search algorithm),也称折半搜索算法(half-interval search algorithm)、对数搜索算法(logarithmic search algorithm),是一种在有序数组中查找某一特定元素的搜索算法。

以在单调递增数组中进行精确查找为例,搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果目标元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则数组中不存在目标元素。

  • 时间复杂度为O(logN)。

  • 空间复杂度O(1)。

  • 应用条件:1. 数据存储在能随机访问元素的线性结构中。

  • 应用条件:2. 数据在搜索区间内按关键字有序。

9236f570c78581f38f91798d60ea9b68.png

72a6bc56d87d38029dea531607b98f55.png

28ea0fd47e07e0ba307620494d332adb.png

897e8751352a734e3621ffc9c171dd96.png

d758b0b6df4ffe5393831dace32c5fd8.png

63ae33f59237d6748bbf2887b268238d.png

cafafc0488f51afac60bb61ed7ceae0a.png

31535dcab030d08cb79648a8616c7316.png

7d37ed829666ba5eefcee0ad0f7aa471.png

3a418287536cfe2836b2d46436ab752b.png

8b98b271f6a626716f04611d4513c257.png

4a98c5f2c59f4c109dcc0bc38b58f4e7.png

2e9f5d4df54c67bd61b59ac92040774a.png

25f8ca45be137271b81ce8cbb8700bee.png

7d5ab4b79a680443fabcd030277276b1.png

1825ca9804551270603c19846b758a88.png

d063fd5cf278a42fce2b9be9c181e06a.png

4cc63b1a2cc32cc755c1f6c32edbd485.png

02 

三分查找

Triple search

7c8783dde174758b5fcaae919993fec8.png

ac966a916efbd654028200582d47e9cf.png

33dbbe6c976eafdfec595123af5bf835.png

6a679fb8938383734d8a2ff95577e6e6.png

19741850491e4a18cc0cb91cf0e602a4.png

8edee507a5e888cb80c2f60c4316c88f.png

d2fd3b964c0dfb2b0038c1b2e051cdf1.png

03 

附录

     Reference

3c1c72ba8027d737de0180d3b432470a.png

明日期待带来,滑动窗口和单调栈的讲解。敬请期待。

cda48517d7d1e53465930ebd98ac42f5.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值