8
A
回答
12
歐幾里得算法(計算gcd
)非常快。當從[1, n]
隨機統一繪製兩個數字時,計算其gcd
的平均步數爲O(log n)
。每個步驟所需的平均計算時間是數字的二次方。
還有一些替代品的性能稍好些(即每個步驟在數字位數上都是次級的),但它們只對非常大的整數有效。例如參見On Schönhage's algorithm and subquadratic integer gcd computation。
7
如果您使用的分部/餘料明顯比班次更貴,請考慮使用binary GCD。
相關問題
- 1. 什麼是最快的方法來檢查給定的數組是否有數組或兩個值?
- 2. 檢查一個類是否定義了函數的最快方法是什麼?
- 3. 檢查兩個Tbitmap是否相同的最快方法是什麼?
- 4. 檢查號碼重複數字的最快方法是什麼?
- 5. Tcl:什麼是檢查空白字符串的最快方法
- 6. 檢查兩個CRgn是否相交的最簡單方法是什麼?
- 7. 什麼是最快的方式來檢查一個數字是否在python的特定範圍內?
- 8. 什麼是檢查svn工作副本是否有變化的最快方法?
- 9. 算法:什麼是檢查集合包含的最快方法?
- 10. 在桶中查找數字的最快方法是什麼?
- 11. 檢查另一個字符串是否存在的最佳方法是什麼?
- 12. 檢查視窗是否可見的最佳方法是什麼?
- 13. 檢查FileInputStream是否關閉的最佳方法是什麼?
- 14. 什麼是MySQL的最快的方法來檢查外國REFFERENCE
- 15. 找到n個數字的gcd最快的方法是什麼?
- 16. 檢查兩幅圖像是否相同的最簡單方法是什麼?
- 17. 什麼是檢查mongodb文檔存在的最快方法?
- 18. 檢查SQL Server可用性的最快方法是什麼?
- 19. 檢查給定號碼是否快樂
- 20. 檢查數據庫集中是否存在最快的方法
- 21. 最快的方法來檢查兩個陣列是否有相同的行
- 22. 檢查字符串是否是bcrypt散列的最簡單快捷的方法是什麼?
- 23. 什麼是比較兩個表的最快方法?
- 24. vb.Net檢查兩個最大數字是什麼
- 25. 什麼是pythonic /更快的方式來檢查自定義__getitem__方法的「關鍵」參數是否是切片?
- 26. 什麼是確定數組是否被排序的最快方法?
- 27. 檢查所有字段是否有效的最佳方法是什麼?
- 28. 使用junit檢查輸出是否穩定的最佳方法是什麼?
- 29. 什麼傳遞給檢查鍵是否被按下的方法?
- 30. App Engine:檢查我的數據存儲查詢是否返回任何結果的最快方法是什麼?
我想評論一下,測算算術算法的複雜性時不考慮算術運算的成本,這有點粗糙。 – 2009-09-27 12:03:11
當兩個數字是斐波那契數列中的連續條目時,最差步數#也是O(log n)。 – 2009-09-27 13:26:31
@Pavel Shved:我確實考慮了成本。比照「每個步驟所需的平均計算時間是數字的二次方」。 – jason 2009-09-27 19:16:15