算法导论中递归式求解时间复杂度的三种方法:
(一)代换法:
1.猜测解的形式;
2.用数学归纳法求出解中的常数,并证明解是正确的。
(二)递归树方法:
利用递归树方法求算法复杂度,其实是提供了一个好的猜测,简单而直观。在递归树中,每一个结点表示一个单一问题的代价,子问题对应某次递归函数调用。我们将树中每层中的代价求和,得到每层代价,然后将所有层的代价求和,得到所有层次的递归调用总代价。
递归树最适合用来生成好的猜测,然后可用代入法来验证猜测是否正确。当使用递归树来生成好的猜测时,常常要忍受