2015-04-22 33 views
2

斯特拉森的整数乘法算法的版本使用三路分裂(将n位数除以3位n/3位)并且取O(n^1.46)。斯特拉森的n位数乘法算法(2路分裂与3路分裂)

我的问题是为什么这种方法通常不会比通常的使用O(n^1.59)的双向拆分更受欢迎? 任何可以帮助我理解的想法或链接? (我在网上查了一下,但找不到任何东西)

+1

斯特拉森的乘法是为你的意思'Schönhage-Strassen算法'的矩阵?或修改'Karatsuba'而不是?看到这个:http://stackoverflow.com/q/18465326/2521214最后一次编辑5包含最新的测量结果,也是每个乘法/平方法的“n”个阈值,所以你可以看到Riko的'n'意思是不是在实际使用中足够大...(除非你计算一些密码或数学证明或最新PI号) – Spektre

回答

2

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

实施例:

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

O(F(N))比O(G(N))更好,使得F(N) “更快”,而在实践中Ñ永远不会大足以让我们更喜欢f(n)。