通过替换来解决重现,计算器不会加起来

时间:2014-05-04 13:32:43

标签: algorithm complexity-theory recurrence

我有这个rec​​urence p(n)= 2p(n-2)+ n,我猜测解是O(n ^ 2),但是,当我做下面的计算时,我不能得到不等式举行

p(n-2)< = c *(n-2)²(归纳假设)

2(c *(n-2)²)+ n <=cn²(替代)

cn²-8c + n&lt; =cn²

谁能看到我哪里出错了?我也试过更大的O(n ^ x),但我仍然无法工作。

1 个答案:

答案 0 :(得分:1)

嗯,这是因为它不是O(n^2),事实上,这是Omega(2^(n/2))

p(n) = 2p(n-2) + n = 2(2(p(n-4) + n-2) + n = 
     = 2(2(2(p(n-6) + n-4) + n-2) + n = .... =
     = 2^(n/2) * 1 + 2^(n/2-1) * 3 + ... + 2^1 (n-2) + 2^0 * n

从上面你可以看到重现不是O(n^2),因为总和中的第一个元素是2 ^(n / 2),它足够大于O(n ^ 2)大值n

因为看起来像是家庭作业,所以在最初的错误明确之后,我宁愿让你自己从这里尝试解决它。​​

祝你好运!