重点提示
- 递归树分析法
- 适用情形与不适用情形
具有递归结构的算法的运行时间分析
主定理
假设某个具有递归结构的算法的运行时间用表示,其中表示将原问题分解成子问题的时间跟将子问题的解合并的时间的总和,
- 如果多项式小于,则的上限就是;
- 如果多项式大于,且 ,其中,则的上限就是的上限就是;
- 如果跟有相同的增长阶,则的上线就是;
递归树角度理解主定理
- 整个树的开销被叶子节点的总开销控制;
- 整个树的开销被根节点的开销控制;
- 整个树的开销被均匀分摊到树的各个层级了;
注:
跟之间存在5种关系
- 非多项式小于(主定理不适用);
- 多项式小于(主定理适用);
- 跟增长阶相同(主定理适用);
- 多项式大于(主定理适用);
- 非多项式大于(主定理不适用);