1
当我们在理论计算机科学中将一个数字作为一个分而治之的算法写作时,运行时在我看来会是T(n) = 2T(n/2) + Θ(1)
,但根据我老师的幻灯片,它是T(n) = T(n/2) + Θ(1)
。为什么?我添加了2,因为算法分解成2个子问题?我错了吗? 为一个数字提供分而治之的解决方案
当我们在理论计算机科学中将一个数字作为一个分而治之的算法写作时,运行时在我看来会是T(n) = 2T(n/2) + Θ(1)
,但根据我老师的幻灯片,它是T(n) = T(n/2) + Θ(1)
。为什么?我添加了2,因为算法分解成2个子问题?我错了吗? 为一个数字提供分而治之的解决方案
为什么你的答案中有乘数(2)?你可以解释吗? –
是的,据我了解它的数字(在我的情况下是2)是子问题的数量,因为问题的a^n = a^n/2 * a^n/2因此有2个子问题。而n/2表示子问题的大小。 – ToTom
这两部分的答案不一样吗?那为什么我们需要调用它两次? –