📅  最后修改于: 2020-12-10 06:16:56             🧑  作者: Mango
主方法用于解决以下类型的重复
T(n)= a T + f(n)为a≥1和b≥1为常数&f(n)为函数, 可以解释为
通过递归在非负整数上定义T(n)。
在递归算法分析的函数中,常量和函数具有以下含义:
在以下三种情况下,有可能完成渐近紧约束:
情况1:如果f(n)= 对于某个常数ε> 0,则得出:
例:
解:
Compare T (n) = 8 T with
T (n) = a T
a = 8, b=2, f (n) = 1000 n2, logba = log28 = 3
Put all the values in: f (n) =
1000 n2 = O (n3-ε )
If we choose ε=1, we get: 1000 n2 = O (n3-1) = O (n2)
由于该方程成立,因此主定理的第一种情况适用于给定的递归关系,因此得出以下结论:
T (n) = Θ
Therefore: T (n) = Θ (n3)
情况2:如果为true,则对于某个常数k≥0,它:
例:
情况3:如果为真,则f(n)=Ω 对于某些常数ε> 0,也适用于: 对于某个常数c <1对于较大的n,则:
T (n) = Θ((f (n))
示例:解决递归关系:
解: