我乘兩個n位正整數與n位Karatsuba乘數。但大多數時候,這些子問題仍然需要處理兩位數字。那麼我應該再次使用n位Karatsuba算法遞歸地處理子問題嗎?這種方法有什麼冗餘?它會以任何方式損害計算時間(O(n^1.5))嗎?Karatsuba乘法器
回答
是的,你必須使用相同的方法。仍然爲足夠小的數字使用其他方法,因爲添加數字的開銷可能太大。
但這不是真的,你需要再乘以n位數字,你需要乘以n/2
位數字。這是該方法的重點。
讓我們乘49 X 56(兩個2位數字) 一個= 4×5 d = 9×6 E =(4 + 9)×(5 + 6) - A - d => E = 13 x 11 - a - d 我們可以看到,我們需要再次乘以13和11,它們又是兩個2位數字。那麼我應該再次在他們身上應用2位Karatsuba乘數嗎? – zeroByte
@Ivaylo Strandjev 請回答zeroByte的評論.. – Hari
我不認爲小數字是很好的例子。每次迭代的數字數量是n/2的數量,但它可能有一個常數(本例中爲1)。這就是爲什麼我對少數人說不同的方法效果更好。作爲添加兩個n/2個數字可能會導致交叉污染,位數可以被1增加,這是在這種情況下發生了什麼。 –
- 1. Karatsuba乘法改進
- 2. karatsuba乘法,遞歸問題
- 3. Karatsuba乘法的基本情況
- 4. 在JavaScript中實現Karatsuba乘法?
- 5. 關於karatsuba乘法的問題
- 6. 字節數組Karatsuba乘法優化
- 7. 獲取karatsuba乘錯了地方
- 8. Karatsuba整數乘法失敗和分段錯誤
- 9. karatsuba算法錯誤
- 10. karatsuba算法在Python
- 11. Karatsuba算法太多遞歸
- 12. Javascript中的Karatsuba算法
- 13. vhdl乘法器
- 14. 乘法,乘法寄存器verilog
- 15. Karatsuba算法不正確的結果
- 16. 使用BigInteger實現karatsuba算法錯誤
- 17. 沒有BigInteger使用的Karatsuba算法
- 18. Karatsuba錯誤結果
- 19. 64位乘法器在Fpga
- 20. xmm寄存器的乘法
- 21. 查找乘法器矩陣
- 22. vhdl 4位vedic乘法器
- 23. Javascript乘法計算器
- 24. MySQL乘法觸發器?
- 25. Verilog 4位乘法器?
- 26. 得分乘法器時間
- 27. 計數器乘法遊戲
- 28. 爲什麼有人會使用乘法而不是乘法器
- 29. 乘法
- 30. 乘法
東西不健全就在這裏;在Karatsuba乘法運算期間,你不應該回到n位數字。你可以發佈你的代碼或僞代碼,以便我們可以查看它嗎? – templatetypedef
甲Karasuba減少降低了一個N×N的產品分成三個N/2×N/2產品。這就是'O(N^1.585)'來自的地方。有一個門檻,你應該切換回'O(N^2)'乘法。 – Mysticial
請發佈鱈魚,並告訴我們你的嘗試。 –