Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的一项家庭作业的解决方案刚刚发布,我有一个问题错误。它涉及找到算法执行乘法运算的最坏情况次数(T(n))。
function power2n(n) counter = n product = 1 while (counter > 0) { product = product * n * n counter = counter - 1 } return product
据我的老师说,最坏的情况是2n,但我不明白为什么..
观察变量counter。它是如何变化的?它最初是n,然后在循环的每次迭代中减 1,因此我们知道循环将准确执行n次数。
counter
n
现在,执行了多少次乘法?
我们确定每个循环有 2 次乘法(n*n*product)。
所以总体上将执行 n*(2) = 2n 次乘法。在大 O 表示法中,这仍然是 O(n)