主方法求解递归式

        求解递归式的方法有Akra-Bazzi方法和Strassen方法等等,但是Akra-Bazzi方法有点难用,但它可以求解那些子问题划分不均衡的算法的递归式。主方法很容易使用,但只能用于子问题规模相等的情况。

        这几天看了点对递归式进行求解,稍微了解到可以通过主方法很快的把使用分治策略解决的问题的时间复杂度,或者说是解出递归的时间复杂度。大概就是这样子了,下面我们把主方法依赖的定理说一下:

定理1.1(主定理) 领a>=1和b>1是常数,f(n)是一个函数,T(n)是定义在非负整数上的递归式:

                                                                    T(n)=aT(n/b)+f(n)

其中我们将n/b解释为向上取整n/b或向下取整n/b。那么T(n)有如下渐进界:


        有了主方法,我们就可以直接从递归式求解出结果。对于上边的三种情况,我们都是需要将函数f(n)和进行比较。感觉上就是,两个函数较大者就决定了递归式的解。若函数更大,就是上边的情况1;若是函数f(n)更大,就是上边的情况3;若是两个函数大小相当,就是上边的情况2。当然也会有不能通过主方法来求解的递归式,若是想使用主方法对递归式求解,一定要注意函数f(n)和是在多项式意义上进行比较。


  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值