【从零学习经典算法系列】分治与递归2——主方法

本文介绍了主方法,用于解决形如T(n) = aT(n/b) + f(n)的递归表达式,提供递归问题的定理性求解策略。主定理分为三种情况,根据f(n)的增长趋势决定算法的渐进复杂度。内容包括主定理的解释、证明以及在分治策略中的应用。
摘要由CSDN通过智能技术生成

上一篇介绍了分治思想与求解递归表达式初步,但是像递归树方法和替换法都有自己明显的缺点,那有没有什么更好的方法呢?

这一篇我就主方法(master method)给出介绍和证明,相信之前不了解该方法的同学通过本篇博客的介绍之后,能有一种醍醐灌顶的感觉,能对递归表达式的求解方法有一个形象的认识和理解。

1、主定理

主方法给出求解形如T(n) = aT(n/b) + f(n)的递归表达式的定理性方法,这里常数a>=1,b>1,f(n)是一个渐进趋正的函数(存在n0,当n>n0,有f(n)>0)。

递归式T(n) = aT(n/b) + f(n)描述了将规模为n的问题划分为a个子问题的算法的运行时间,每个子问题规模为n/b,a和b是正整数。a个子问题被分别递归地求解,时间各为T(n/b)。划分原问题和合并答案的代价由函数f(n)描述。

*主定理:设a>=1,b>1为常数,f(n)是一个函数,T(n)由递归式T(n) = aT(n/b) + f(n)对非负整数定义。那么T(n)可能有如下的渐进界,<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值