2017-08-23 55 views
1

当我们在理论计算机科学中将一个数字作为一个分而治之的算法写作时,运行时在我看来会是T(n) = 2T(n/2) + Θ(1),但根据我老师的幻灯片,它是T(n) = T(n/2) + Θ(1)。为什么?我添加了2,因为算法分解成2个子问题?我错了吗? Slide of the prof为一个数字提供分而治之的解决方案

+1

为什么你的答案中有乘数(2)?你可以解释吗? –

+0

是的,据我了解它的数字(在我的情况下是2)是子问题的数量,因为问题的a^n = a^n/2 * a^n/2因此有2个子问题。而n/2表示子问题的大小。 – ToTom

+1

这两部分的答案不一样吗?那为什么我们需要调用它两次? –

回答

1

在每个步骤中,问题分为两个小的相同部分。由于这些都是相同的,所以不需要为每一个进行计算。因此不需要乘数2

+0

哦,谢谢!得到它了。 – ToTom

相关问题