我的一项家庭作业的解决方案刚刚发布,我提出了一个错误的问题。它与查找算法执行乘法运算(T(n))的最坏情况次数有关。
function power2n(n)
counter = n
product = 1
while (counter > 0) {
product = product * n * n
counter = counter - 1
}
return product
根据我的老师的说法,最坏的情况是2n,但我不明白为什么......
答案 0 :(得分:3)
观察变量counter
。它是如何变化的?它最初是n
,然后对于循环的每次迭代它递减1,所以我们知道循环将完全执行n
次。
现在,执行了多少次乘法?
我们确定每个循环有2次乘法(n * n *乘积)。
总的来说,将执行n *(2)= 2n次乘法。在Big O表示法中,这仍然是O(n)