本文讨论如何有效应用复杂度计算的主定理
快速计算 分治算法的复杂度。
下面给出几个简单的例子:
1. T(n) = T(n/2) + O(n)
f(n) = O(n) > O(1), 并且满足第四种情况,所以复杂度是O(n)
2. T(n) = 2T(n/2) + O(n)
f(n) = O(n) = O(n), so complexity is O(nlgn), satisfying second condition
3. T(n) = 2T(n/2) + O(nlgn)
f(n) satisfies 3rd condition, so complexity is O(nlg2n)
本文通过几个实例介绍如何运用复杂度计算的主定理来快速确定分治算法的时间复杂度。具体包括:当递归项为T(n/2)及T(n)的线性组合时,如何判断其属于主定理的哪一种情形,并得出最终的复杂度表达式。
5544

被折叠的 条评论
为什么被折叠?



