二和递归函数的复杂性



我需要计算以下递归函数的复杂度:T(n(=T(n/4(+3M(n/4

如何计算T(n(的复杂度?我知道如何用一个递归函数来做,但这次有两个递归函数包含在一个公式中,我不知道如何处理这个问题?

有一个基于主定理的通用公式:设M(n(=aM(n/b(+cn+d+fn^k和M(1(=e,则M(n的复杂度计算如下:

--如果a不等于b并且f=0,则M(n(的解为:M(n(=(e+(bc/(a-b((+d/a-1(n^log_ba-(bc/a-b(.n+d/a-1

我想用这个通用公式来计算上面T(n(的复杂度。有人能帮我解决这个问题吗?

请注意,T引用M,但M只引用它自己。这意味着你可以在这里做两步过程:

  1. 求解M(n(
  2. 将解插入T(n(中,给出T(n(关于其自身的递推式,然后求解T(恩(

从你的问题中,你似乎在寻找一个精确的解,尽管如果你只关心渐近,你可以使用主定理得到如下的解:

  1. M(n(=Θ(nlog47(
  2. T(n(=T(n/4(+3M(n/4

最新更新