算法分析---主定理
在算法分析中,主定理(英语:master theorem)提供了用渐近符号表示许多由分治法得到的递推关系式的方法。此方法经由经典算法教科书《算法导论》而为人熟知。不过,并非所有递推关系式都可应用主定理。该定理的推广形式包括Akra-Bazzi定理。
假设有递推关系式
,其中
为问题规模,为
递推的子问题数量,
为每个子问题的规模(假设每个子问题的规模基本一样),
为递推以外进行的计算工作。
情形一:
如果存在常数
,有
,并且是多项式的小于
那么
情形二:
如果存在常数k ≥ 0,有
那么
情形三:
如果存在常数
,有
-
,并且是多项式的大于
同时存在常数
以及充分大的
,满足
那么
常用算法中的应用:
| 算法 | 递推关系式 | 运算时间 | 备注 |
|---|---|---|---|
| 折半搜索 | ![]() |
![]() |
情形二(k = 0) |
| 二叉树遍历 | ![]() |
![]() |
情形一 |
| 归并排序 | ![]() |
![]() |
情形二(k = 0) |




,并且是多项式的大于







浙公网安备 33010602011771号