第五课 主定理

“如果抛开某些很NB,很强大,很邪恶的递归式不谈,如果不能有效的确定普通递归式和一些典型算法递归式的复杂度,那么这个人显然不是合格的Coder。”

所以知道了解主定理的好处至少有一个,那就是可以快速分析某些递归式或某些算法的复杂度。

引理:

主定理:

1.画个递归树,发现一共有logn层。

2.为什么是d与logba比较

每一层的复杂度是上一层的1/b,而子问题的个数是上一层的a倍

所以第k层的工作量为

ak*O(n/bk)d

即O(nd)*(a/bd)k

所以公比为(a/bd),就是看(a/bd)是否大于1小于1等于1啦~ 

算法中的应用:

原文地址:https://www.cnblogs.com/chenyg32/p/3017860.html