二分查找(折半算法)

    折半查找算法:

        在纸上随机写一个[0,100]区间的数字,使用最少的次数猜出该数字?这里不考虑运气问题。每次猜数字结束,如果不等于真实数字,只会被告知,当前所猜的数字相对于正确答案是偏大还是偏小。那么如何才能做到使用最少的次数得出正确答案呢?

    最笨的方法是,从0到100,一个一个的试,那么,最多可能需要101次才能得到最终的结果。其实这个问题可以使用经典的折半查找算法来解决,其大致流程如下图所示:

《二分查找(折半算法)》

    分析上图我们可以知道,每次猜测相对于真实答案,要么偏大,要么偏小,第一次猜测,去100的一半,即50,如果偏大,则只进行左边的猜测;如果偏小,则只进行右边的猜测;如果按照这种方法猜测,那么一定能够在7次以内得到最终的结果。相对于最多的101次,这种方式效率更高,更加节省时间,简直完爆一切。

《二分查找(折半算法)》

    原文作者:查找算法
    原文地址: https://blog.csdn.net/JianZuoGuang/article/details/78649545
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞