Introduction to Algorithms 算法导论 第4章 递归式 学习笔记及习题解答

本文主要探讨了《算法导论》第四章中的递归式,包括主方法、代换法,并详细解答了4.1节的三个练习题,涉及递归式的解法及其复杂度分析,如T(n) = T(⌈n/2⌉) + 1和T(n) = 2T(⌊n/2⌋) + n的渐进时间复杂度。
摘要由CSDN通过智能技术生成
第4章 递归式

主方法:
        n=1:
                T(n) = Θ(1)
        n>1:
                T(n) = aT(n/b) + Θ(n)   (a≥1, b>1)

4.1 代换法
1). 猜测解的形式
2). 用数学归纳法找出使解真正有效的常数
改变变量:
T(n) = 2T(⌊n^(1/2)⌋) + lgn
设m=lgn,则有n=2^m,可得:
T(2^m) = 2T(⌊2^(m/2)⌋) + m
令S(m) = T(2^m) = 2S(m/2) + m
上式解为O(mlgm) = O(lgn*lglgn)

练习
4.1-1 证明 T(n) = T(⌈n/2⌉) + 1的解为O(lgn)
证明:
        假定T(n) ≤ clg(n-b), 则:
        T(n) = T(⌈n/2⌉) + 1
             ≤ clg(⌈n/2 - b⌉) + 1
             < clg(n/2 - b + 1) + 1
             = clg((n-2b+2)/2) + 1
             = clg(n-2b+2) - clg2 + 1
             = clg(n-2b+2) - c + 1
             ≤ clg(n-b)
        明显当c
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值