为什么我的迭代逼近循环在执行 24690 时执行的次数比 12345 执行的次数少,后者是大小的一半?
我正在使用二等分算法或二等分搜索。请帮我。
为什么我的迭代逼近循环在执行 24690 时执行的次数比 12345 执行的次数少,后者是大小的一半?
我正在使用二等分算法或二等分搜索。请帮我。
这真的取决于你的二分循环是如何终止的。除平均法(也称为牛顿法)可以迭代固定次数(显然不是在您的情况下),或者它可以一直持续到连续的差异在某个容差范围内。在后一种情况下,迭代次数不取决于大小,它取决于除法的余数(即初始猜测的接近程度)。
希望这可以帮助 :-)
考虑一个简单的例子 4 和 8
4/2 =2 ( 2*2=4) 因此我们在 1 次迭代中得到答案
8/2 =4 (4*4=16) 因此您将进行超过 1 次迭代
步数与输入值不成线性关系