算法为n/2个实例中的每一个进行3次乘法运算。因此,对于n>1,M(1)=1,递推关系不应该是M(n)=M(n/2)+3吗?
关键是准确理解分而治之是如何发生的。在Karatsuba算法的情况下:
Karatsuba算法的基本步骤是一个公式,它允许人们使用三次较小数字的乘法来计算两个大数字x和y的乘积,每次乘法的位数大约是x或y的一半,再加上一些加法和数字移位。
所以,这意味着,要解决一个大问题,你需要递归地解决三个基本相同的小问题(然后进行一些重组步骤)。你在标题中提出的复杂性递归公式正是这个公式的公式。