1.代换法
运用代换法处理递归算出程序需要的运行时间,要发挥一个程序员的直觉,一个字:猜。接着数学归纳法进行验证。
例如:T(n)=4T(n/2)+n,猜T(n)=O(n^3),假设:T(k)<=ck^3 当k<n。
so T=4c(n/2)^3+n=1/2cn^3+n<=cn^3-(1/2cn^3-n),(1/2cn^3-n)>=0,即c>=1即可。去掉低阶位和系数,
T<=cn^3
2.递归树:将递归式转换为一棵树,其结点表示不同好层次的递归调用的代价。然后用边界和技术求解递归式
3.主定理:解决形如T(n)=aT(n/b)+f(n),分为三种情况,此方法最快