递归式求解-主定理

本文详细介绍了主定理在递归式求解中的应用,分为三种情况讨论了函数f(n)与n的关系,分别对应不同的渐进边界。通过例题示范,解释了如何根据f(n)与n的比较来确定递归式的复杂度,涉及多项式、对数和指数函数的比较。对于特殊情况,文章提到了一个额外的定理作为补充解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.主定理:设a>=1和b>1为常数,设f(n)为一函数,T(n)由递归式

对非负整数定义,其中n/b指下取整或上取整.那么T(n)可能有如下的渐进界:

(1)若对于某常数 ε>0,有,则;

(2)若.则;

(3)若对于某常数 ε>0,有,且某常数 c<1与所有足够大的n,有,则



2.主定理的使用方法.

由主定理的三种情况可以看出,每一种情况都要比较 f(n) 与进行比较.(求复杂度时,通常取上界)

第一种情况,f(n)与进行比较,较大,则解为

第二种情况,两种函数同样大,这是乘以对数因子lgn,即

第三种情况,f(n)较大,则递归式的解为


3.例题示范

例题(1).,求这个递归式的复杂度.

第一步.计算,可求得=n^2,

第二步.与f(n)=n进行比较,因此符合第一种情况,解得


例题(2)

第一步.计算,可求得a=1, b=3/2,因此=

第二步.与f(n)=1进行比较,符合第二种情况,解得


例题(3)第三中情况和第一种类似,不再举例


例题(4)

第一步.计算,a=2, b=2,    = n.看上去符合第三种情况,因为f(n)=lgn渐进大于n,但是不是多项式大于. 

 对于任意正常数ε,比值f(n)与等于nlgn/n = lgn.渐进小于n^ε,(可用求极限方法分子分母同时求导求得).这种情况落在情况二和情况三之间.

这种情况下的递归式求解要用到:(算法导论4.4-2)

定理:若,其中k>=0,则主定理中递归式的解为


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值