主定理

概述

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

定义

主定理(Master Theorem)

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

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

情形一:递归代价主导

,其中 ,则:

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

情形二:两者相当

,其中 ,则:

时(最常见情况),

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

情形三:合并代价主导

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

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

核心性质

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

应用场景

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

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

参见