使用分而治之的方法的整数乘法算法?

时间:2011-05-08 17:48:32

标签: algorithm biginteger divide-and-conquer

作为家庭作业,我应该使用在O(n)之下工作的分而治之的方法对1000位数字实现整数乘法。我应该研究什么算法?

2 个答案:

答案 0 :(得分:2)

Schönhage–Strassen algorithm是已知最快的乘法算法之一。它需要O(n log n log log n)时间。

Fürer's algorithm是目前已知的最快的大数乘法算法,需要O(n * log n * 2 O(log * n))时间。

我认为任何乘法算法都不会小于或甚至等于O(n)。这根本不可能。

答案 1 :(得分:2)

看看Karatsuba algorithm。它涉及一个递归步骤,您可以轻松地用分而治之的模型进行建模。