二分查找(用最少的步骤解决你的从头for循环判断的毛病)

二分查找是一种高效的算法,适用于有序元素列表。它通过从中间开始查找,减少查找步骤,如在128个名字的列表中查找最多只需log2n步。相比于简单查找的n步,二分查找显著提高了效率。文章讨论了为何不使用for循环,以及下标调整的逻辑,并邀请读者在评论区探讨相关问题。
摘要由CSDN通过智能技术生成

WHAT?

假设要在电话簿中找一个名字以K打头的人,(现在谁还用电话簿!)可以从头开始翻页,直到进入以K打头的部分。但你很可能不这样做,而是从中间开始,因为你知道以K打头的名字在电话簿中间。

又假设要在字典中找一个以O打头的单词,你也将从中间附近开始。现在假设你登录Facebook。当你这样做时,Facebook必须核实你是否有其网站的账户,因此必须在其数据库中查找你的用户名。

如果你的用户名为karlmageddon,Facebook可从以A打头的部分开始查找,但更合乎逻辑的做法是从中间开始查找。

这是一个查找问题,在前述所有情况下,都可使用同一种算法来解决问题,这种算法就是二分查找。 

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

 

WHY?

是不是觉得好麻烦呀,真TM烦,(影响我上班划水的效率),同样的时间可以干更多的方法,小哥哥/小姐姐了解一波

因此,使用二分查找只需18步——少多了!一般而言,对于包含n个元素的列表,用二分查找最多需要log2n步,而简单查找最多需要n步。

(敲黑板)重点知识来了,小本本记住

HOW?

1. 假设有一个包含12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值