经典排序之折半查找

本文介绍了二分查找,又称折半查找,是一种在有序序列中高效查找元素的算法。通过示例解释了如何利用二分查找寻找数字炸弹,强调了必须在有序数组中使用。并提供了JavaScript代码实现,解析了查找过程中的边界判断和循环终止条件。二分查找不仅在排序中有应用,也是解决日常问题的有效方法。
摘要由CSDN通过智能技术生成


活动地址:CSDN21天学习挑战赛

折半查找

排序含义

了解一个知识,必须先要从其含义开始。
折半查找,又称二分法查找。意在一个有序的序列当中,从最大值与最小值开始,从两个值的中间值为分渠道,再次判断是否位于区间内,重复获取中间值,直至找到需要查找的值。
折半查找,适用于数据量很大的情况。
具体是什么意思呢,一个例子搞定:数字炸弹游戏

一个1-100的数字,其中有一个数字是炸弹,每次猜一个数,怎么样才能猜出最快呢。排除运气成分,用二分法可以最快猜出这个数字炸弹。利用二分法为大家演示。假如炸弹是28

在1-100,中,首先猜50,错误。区间来到【1-50】,再次猜数字25,区间来到【26-49】。回答错误,再一次猜数字等等等,直到猜出数字28。这就是二分法中次数最长的一种。

直到此,大概对与折半查找有这一定的理解了。

排序图例

选择一个1-100的有序区间(数字炸弹为28
一定是要有序的区间
在这里插入图片描述
第一次查找
猜数字50
区域变为

在这里插入图片描述
第二次查找
猜数字25

区域变为
在这里插入图片描述
以此往下,第n次查找到数字
找到数字炸弹28;

代码实现

定义一个数组
必须是有序数组,必须是有序数组,必须是有序数组,重要的事情说三遍!!!

var arr=[6,10,12,23,43,
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值