Master theorem的通用形式提到:
假设所有子问题的大小基本相同
在以下情况下应用Akra–Bazzi method:
子问题的大小差异很大
但基本不同的标准是什么?例如,我有一个递归关系,如:
T(n) = T(n/4) + T(3n/4) + cn
(c is some constant)
我是否仍然可以使用主定理来解决这种关系(例如将其近似为T(n) = 2T(3n/4) + cn
)?或者,换句话说,这些子问题大小“基本上是相同的”还是已经“基本上不同”?
答案 0 :(得分:1)
假设c
是常数,您可以:T(n) = T(n/4) + T(3n/4) + O(n)
用Akra-Bazzi方法解决这个问题得到O(n^2)
假设T(n) = 2T(3n/4) + O(n)
给出O(n^2.4094)
(exp。四舍五入到4 dp)来解决它
因此,只需尝试一下,就可以确认它们已经完全不同了。