第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
主方法:
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

本文主要探讨了《算法导论》第四章中的递归式,包括主方法、代换法,并详细解答了4.1节的三个练习题,涉及递归式的解法及其复杂度分析,如T(n) = T(⌈n/2⌉) + 1和T(n) = 2T(⌊n/2⌋) + n的渐进时间复杂度。
最低0.47元/天 解锁文章

2081





