Strassen的n位数乘法算法(2way split vs 3way split)

时间:2015-04-22 14:46:11

标签: algorithm multiplication strassen

有一个版本的Strassen算法用于整数乘法,它使用三向分割(将n位数分成3个n / 3位)并取O(n ^ 1.46)。

我的问题是为什么这种方法一般不优于使用O(n ^ 1.59)的2路分割的常用方法? 任何可以帮助我理解的想法或链接? (我在网上查了一下,但找不到任何东西)

1 个答案:

答案 0 :(得分:2)

那是因为在实践中第二个会慢一些。 O符号并不总是与实际运行速度相对应。

示例:

f(n) = 1000*n
g(n) = n*lg(n)

O(f(n))优于O(g(n)),使f(n)"更快",而实际上n将永远不会大到足以让我们更喜欢f( n)中。