主定理

概述

主定理(Master Theorem)是求解形如 的递推关系的核心工具,其中 ,。它通过比较递归代价与合并代价的相对大小,将递推关系分为三种情形,直接给出渐近解。主定理是分析分治算法时间复杂度的首选方法。

定义

主定理(Master Theorem)

设 且 为常数, 为渐近正函数。递推关系:

令 (即 )为递归树中叶节点的代价。则根据 与 的比较,分三种情形:

情形一:递归代价主导

若 ,其中 ,则:

直觉:合并代价远小于递归代价,叶节点主导总代价。

情形二:两者相当

若 ,其中 ,则:

当 时(最常见情况),。

直觉:合并代价与递归代价同阶,各层代价相当,多出 层。

情形三:合并代价主导

若 ,其中 ,且对某个常数 和足够大的 ,有 (正则性条件),则:

直觉:合并代价远大于递归代价,根节点主导总代价。

核心性质

情形条件渐近解典型示例
情形一
情形二
情形三

应用场景

主定理用于分析各类分治算法的递推关系:

算法递推关系适用情形复杂度
归并排序情形二
Strassen情形一
二分搜索情形一
快速排序(最坏)不适用

参见