CLRS 4.4用递归树方法求解递归式

本文详细介绍了如何运用递归树方法来求解《算法导论》(CLRS)第4.4节中的递归式问题。通过分析递归树的结构,计算不同层次的结点数及其代价,得出各题目对应的解决方案。涉及递归树的深度、结点规模、每层代价等多个关键要素。
摘要由CSDN通过智能技术生成

4.4-1
递归树如下:
这里写图片描述
假设 n 是 2 的幂,子问题的规模每一步减少 1/2 ,最终达到边界条件,深度为 i 的结点对应规模为 n2i ,当 n2i=1 时即 i=lgn 时子问题规模为 1,因此树的层数为 lgn+1 。对于每一层的代价,每层都是上一层的 3 倍,因此深度为 i 的结点数 3i 。此层每个结点的代价 n2i ,因此第 i 层结点总代价 n(32)i ,树的最底层有 3lgn=nlg3 ,每个结点代价 T(1) ,所以有:

T(n)=i=0lgn1(32)in+Θ(nlg3)=n(3/2)lgn1(3/2)1+Θ(nlg3)=nΘ(nlg31)+Θ(nlg3)=Θ(nlg3)

下面用代入法验证:猜测 T(n)cnlg3dn
T(n)3c(n2)lg332dn+n=cnlg3dn(12d1)ncnlg3dn(c0,d12)

4.4-2
以下几个题目和 4.4-1 类似分析,在此不画出递归树。
假设 n 是 2 的幂,子问题的规模每一步减少 1/2 ,最终达到边界条件,深度为 i 的结点对应规模为 n2i ,当 n2i

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值