从0入门折半(二分)查找

本文从生活中寻找灵感,介绍了二分查找的基本思想和应用。通过两个实例详细解析了二分查找的过程,包括查找数字6和15的情况。文章强调了二分查找在有序数组中的效率优势,指出其最多只需对数次比较就能找到目标值,是枚举法的有效优化。文章最后总结了二分查找的关键步骤和适用场景。
摘要由CSDN通过智能技术生成

声明:因本人为非科班转码,个人水平有限,博客中难免有不准确之处,如有读者发现,本人恳请大家积极指出,本人也想知道自己的错误在哪里。欢迎大家一起指正,共同进步。

  • 联系方式:3146367553@qq.com

 


想直接看结论的小可爱可以直接跳转至3-总结。

目录

1.折半查找思想的引入

 2.折半查找例子1

2.1 思路一:类似枚举法

2.2 折半查找

2.3 查询数字15

2.折半查找例子2

2.1 查询99的流程

2.2 查询50的流程(不在数组内)

3-总结


1.折半查找思想的引入

在生活中,我们会碰到这么一个小游戏。你的女朋友(男朋友)向你炫耀她(他)双十一刚购入的一件新衣服,问你好不好看并且告诉你这件衣服不超过600元(正常情况买衣服商家不会倒扣),让你猜猜看他这件衣服花了多少钱。(假设实际购入价格为225元)

我们的思路必然是先询问是不是(0+600)/ 2 = 300元,然后等待npy的反应。如果此时npy给出的反应是价格高了,那么接下来你猜测的金额基本是(0+300)/ 2 = 150元。如果此时npy给出的反应是价格低了,那么接下来是你猜测的价格应该是(150+300)/ 2 = 225元,最终两大欢喜,猜对了价格。

值得注意的是,猜测价格的时候,我们认为大部分人都不会从1元到2元到3元一直枚举225元。即使真的有人想这么枚举猜测价格,我觉得其npy也不会同意,哈哈哈。


 2.折半查找例子1

题目():在下列数组中查询数字6,并输出其下标。

数组:arr[10] = {0,1,2,3,4,5,6,7,8,9}

2.1 思路一:类似枚举法

思路1:从第一个元素开始查找,一直从0查找到9。如果在查找的过程中找到的话,就输出相关下标。如果一直查找查到9都没有查询到,则此时查找的相关下标变

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值