Karatsuba算法涉及递归关系T(n) = 3T(n/2) + n
。
通过递归树的方法,我们可以近似的大OT
为O(nlog23)
但是,通过替换方法,我无法验证通过递归树方法找到的近似结果
我将简单地使用lg 3
to 表示。log23
替代方法:
Hypothesis -> T(n) <= cnlg 3 where c is a positive constant
Proof -> T(n) <= 3c(n/2)lg 3 + n
= cnlg 3 + n
但是证明的第 2 步表明,由于 n 项,我无法证明我的假设。
我修改了证明的第 2 步
T(n) <= cnlg 3 + nlg 3
= (c+1)nlg 3
后来意识到我犯了一个错误,因为这个假设没有得到证实。
T(n) <= cnlg 3
必须证明,不是T(n) <= (c+1)nlg 3
但答案T(n)
是O(nlg 3)