2015-04-22 67 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)。