从头开始查找,待查找数字排在第多少位,则查找比较多少次
随便想一个1~100的数字。
每次可以猜一个数字,反馈是这个数字大了,小了,还是对了。
假设从1开始依次往上猜,猜测过程会是上面简单查找那样这样。
算法代码如下:
结果如下图:
这也是说到的简单查找,从前往后依次查找。
从50开始猜,每次从中间开始猜,排除一半的可能。
接下来猜75试一试~
这样,每次排除一半的结果,不论最初是什么数字,最多7步就可以猜到正确结果。
如何计算得到这个7步的呢?
每次排除一半的可能,2^n = N,所以计算得到步数n为:
算法代码如下: