什么是二分法

 我来答
妖感肉灵10
2022-11-16 · TA获得超过6.3万个赞
知道顶级答主
回答量:101万
采纳率:99%
帮助的人:2.3亿
展开全部

其实就是一种通过不断的排除不可能的东西,来最终找到需要的东西的一种方法.所以可以理解成排除法。

之所以叫二分,是因为每次排除都把所有的情况分成"可能"和"不可能"两种,然后抛弃所有"不可能"的情况。

最正统的二分法中,是每次排除都可以排除掉一半的情况,这样子的寻找效率是很高的。

比如要在1-100的数字中询问出某一个特定的数字,我可以先问,这个数字是否大于50?这样无论是或者不是,我都可以排除掉一半的数字(50之前的被排除,或者50之后的被排除)。假如回答不是,接着我可以问是否大于25?又可以排除掉一半。这样下去,很快就会排除剩下一个数字,即是要找的那个。

要理解这种方法为什么这么快需要用一点数学计算,很显然最理想的二分法是每次把情况除以2,而逐个检查的方法是把情况减1,这个排除的速度比较只要稍微计算一下就可以有认识。

另外就是二分法不一定真的是平均二分,对于不平均的二分法,最极端的情况下,每次可能只能排除一种情况,这样就和逐个排查没有区别了。这叫做二分法的退化,是使用二分法的时候需要想办法避免的。

扩展资料

典型算法

算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是排好序的。

基本思想:假设数据是按升序排序的,对于给定值key,从序列的中间位置k开始比较,

如果当前位置arr[k]值等于key,则查找成功;

若key小于当前位置值arr[k],则在数列的前半段中查找,arr[low,mid-1];

若key大于当前位置值arr[k],则在数列的后半段中继续查找arr[mid+1,high],

直到找到为止,时间复杂度:O(log(n))

参考资料:百度百科-二分法

AiPPT
2024-12-03 广告
作为北京饼干科技有限公司的一员,对于市场上各类工具都有所了解。就AiPPT而言,它确实为用户提供了便捷高效的PPT制作体验。通过智能化的辅助功能,用户能够快速生成专业且富有创意的演示文稿,极大地节省了时间和精力。无论是对于个人用户还是企业团... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式