【发布时间】:2020-02-02 16:34:00
【问题描述】:
有人可以使用反向替换解决上述递归关系和渐近时间复杂度吗?我知道解决它的大师定理方法,但我不知道如何使用反向替换来获得该答案。
【问题讨论】:
标签: algorithm complexity-theory
有人可以使用反向替换解决上述递归关系和渐近时间复杂度吗?我知道解决它的大师定理方法,但我不知道如何使用反向替换来获得该答案。
【问题讨论】:
标签: algorithm complexity-theory
只是为了扩展:
T(n) = n*((n-1)*T(n-2) + (n-1)!) + n! =
n*(n-1)*T(n-2) + n! + n! =
n*(n-1)*T(n-2) + 2 * n! =
n*(n-1)*((n-2)*T(n-3) + (n-2)!) + 2n! =
n*(n-1)*(n-2)*T(n-3) + 3 * n!
通过归纳,可以证明:
T(n) = n * (n-1) * (n-2) * ... * 3 * T(2) + (n-2) * n!
我们知道T(0) = 2 和T(2) = 2 T(1) + 2! = 2 * (T(0) + 1) + 2 = 8:
T(n) = 4 * n! + (n-2) * n! = (n+2) * n! = (n+1)! + n! = \Theta((n+1)!)
【讨论】:
a 和b 是什么?
a 和 b 应该保持不变!另外,n-1不能写成n/b!