为什么不是karatsuba O(n ^ 2)的复杂性?

时间:2016-12-24 14:11:27

标签: algorithm time-complexity karatsuba

[ContentType("code")]

n =位数

由于我们正在处理比特级复杂度,因此每次添加都需要O(n),并且对于每个递归调用,有一个至少一个加法导致总共(n-2000)* n。我在这里做错了什么?

代码来自 - http://introcs.cs.princeton.edu/java/99crypto/Karatsuba.java.html

1 个答案:

答案 0 :(得分:2)

因为只有3个递归调用而不是4个。 See slide 5

BigInteger ac    = karatsuba(a, c);
BigInteger bd    = karatsuba(b, d);
BigInteger abcd  = karatsuba(a.add(b), c.add(d));