2
斯特拉森的整数乘法算法的版本使用三路分裂(将n位数除以3位n/3位)并且取O(n^1.46)。斯特拉森的n位数乘法算法(2路分裂与3路分裂)
我的问题是为什么这种方法通常不会比通常的使用O(n^1.59)的双向拆分更受欢迎? 任何可以帮助我理解的想法或链接? (我在网上查了一下,但找不到任何东西)
斯特拉森的整数乘法算法的版本使用三路分裂(将n位数除以3位n/3位)并且取O(n^1.46)。斯特拉森的n位数乘法算法(2路分裂与3路分裂)
我的问题是为什么这种方法通常不会比通常的使用O(n^1.59)的双向拆分更受欢迎? 任何可以帮助我理解的想法或链接? (我在网上查了一下,但找不到任何东西)
那是因为在实践中第二个会慢一些。 O符号并不总是符合实际的运行速度。
实施例:
f(n) = 1000*n
g(n) = n*lg(n)
O(F(N))比O(G(N))更好,使得F(N) “更快”,而在实践中Ñ永远不会大足以让我们更喜欢f(n)。
斯特拉森的乘法是为你的意思'Schönhage-Strassen算法'的矩阵?或修改'Karatsuba'而不是?看到这个:http://stackoverflow.com/q/18465326/2521214最后一次编辑5包含最新的测量结果,也是每个乘法/平方法的“n”个阈值,所以你可以看到Riko的'n'意思是不是在实际使用中足够大...(除非你计算一些密码或数学证明或最新PI号) – Spektre