作为家庭作业,我应该使用在O(n)之下工作的分而治之的方法对1000位数字实现整数乘法。我应该研究什么算法?
答案 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。它涉及一个递归步骤,您可以轻松地用分而治之的模型进行建模。