对于n> 1,Karatsuba算法M(n)= 3M(n / 2)的递归关系如何? 1,M(1)= 1?

时间:2016-03-22 12:48:04

标签: algorithm integer multiplication

该算法为每个n / 2个实例进行3次乘法运算。因此,对于n> 0,递归关系不应该是M(n)= M(n / 2)+3。 1,M(1)= 1?

1 个答案:

答案 0 :(得分:1)

关键是要准确理解分而治之的发生方式。在the case of the Karatsuba Algorithm

  

Karatsuba算法的基本步骤是允许人们使用三个较小数字的乘法来计算两个大数x和y的乘积的公式,每个乘数大约是x或y的一半,加上一些补充和数字转换。

所以,这就是说,为了解决一个大问题,你递归地解决了三个一半的基本相同的问题(然后做了一些重组步骤)。您在标题中提出的复杂递归公式正是这个的表述。