主定理
概述
主定理(Master Theorem)是求解形如 的递推关系的核心工具,其中 ,。它通过比较递归代价与合并代价的相对大小,将递推关系分为三种情形,直接给出渐近解。主定理是分析分治算法时间复杂度的首选方法。
定义
主定理(Master Theorem)
设 且 为常数, 为渐近正函数。递推关系:
令 (即 )为递归树中叶节点的代价。则根据 与 的比较,分三种情形:
情形一:递归代价主导
若 ,其中 ,则:
直觉:合并代价远小于递归代价,叶节点主导总代价。
情形二:两者相当
若 ,其中 ,则:
当 时(最常见情况),。
直觉:合并代价与递归代价同阶,各层代价相当,多出 层。
情形三:合并代价主导
若 ,其中 ,且对某个常数 和足够大的 ,有 (正则性条件),则:
直觉:合并代价远大于递归代价,根节点主导总代价。
核心性质
| 情形 | 条件 | 渐近解 | 典型示例 |
|---|---|---|---|
| 情形一 | |||
| 情形二 | |||
| 情形三 |
应用场景
主定理用于分析各类分治算法的递推关系:
参见
- 递归关系式 — 主定理求解的对象
- 递归树 — 主定理的直观推导工具
- 分治法 — 产生此类递推关系的算法策略
- 归并排序 — 主定理的经典应用案例
- Strassen算法 — 主定理情形一的应用