二分查找算法(折半算法)
Posted 码码小虫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找算法(折半算法)相关的知识,希望对你有一定的参考价值。
折半查找算法:
在纸上随机写一个[0,100]区间的数字,使用最少的次数猜出该数字?这里不考虑运气问题。每次猜数字结束,如果不等于真实数字,只会被告知,当前所猜的数字相对于正确答案是偏大还是偏小。那么如何才能做到使用最少的次数得出正确答案呢?
最笨的方法是,从0到100,一个一个的试,那么,最多可能需要101次才能得到最终的结果。其实这个问题可以使用经典的折半查找算法来解决,其大致流程如下图所示:
分析上图我们可以知道,每次猜测相对于真实答案,要么偏大,要么偏小,第一次猜测,取100的一半,即50,如果偏大,则只进行左边的猜测;如果偏小,则只进行右边的猜测;如果按照这种方法猜测,那么一定能够在7次以内得到最终的结果。相对于最多的101次,这种方式效率更高,更加节省时间,简直完爆一切。
以上是关于二分查找算法(折半算法)的主要内容,如果未能解决你的问题,请参考以下文章