有一个版本的Strassen算法用于整数乘法,它使用三向分割(将n位数分成3个n / 3位)并取O(n ^ 1.46)。
我的问题是为什么这种方法一般不优于使用O(n ^ 1.59)的2路分割的常用方法? 任何可以帮助我理解的想法或链接? (我在网上查了一下,但找不到任何东西)
答案 0 :(得分:2)
那是因为在实践中第二个会慢一些。 O符号并不总是与实际运行速度相对应。
示例:
f(n) = 1000*n
g(n) = n*lg(n)
O(f(n))优于O(g(n)),使f(n)"更快",而实际上n将永远不会大到足以让我们更喜欢f( n)中。