电力运行的时间效率?

时间:2013-05-22 02:00:24

标签: performance optimization language-agnostic mathematical-optimization processing-efficiency

我只是想知道电力运营及其时间效率。由于电力运行是有效的:

x^n = x*x*x...[n times]

这是否意味着计算x ^ n需要大约O(n)时间(假设乘法是O(1),我不确定它是多少)?或者现代编程语言/硬件架构是否具有将其减少到O(1)或类似的优化?如果存在优化,请解释(或发布解释链接)。

1 个答案:

答案 0 :(得分:4)

基于successive squaring的优化允许您以对数乘法计算功率。例如,不是将b 8 计算为b * b * b * b * b * b * b * b,而是可以计算

b 2 = b * b
b 4 = b 2 * b 2
b 8 = b 4 * b 4

有关更多详细信息,请参阅SICP 1.2.4 Exponentiation。我的博客上还有一篇文章,显示了Scheme中的fast exponentiation实现。