顾名思义,快速幂就是快速算底数的n次幂。
比如计算3的10此方,可以看到一下方法。
普通计算就是:3^10=3*3*3*3*3*3*3*3*3*3
可以变换为:3^10=(3*3)*(3*3)*(3*3)*(3*3)*(3*3)
也就是先对3自己进行平方,再求五次,就是3^10=(3*3)^5,这就相当于求了5次乘法。
最后可以变成先算3的平方,然后算其中五次,相当于只算了3次乘法。
根据这个过程,可以得到其时间复杂度为
o(log?n),与朴素的o(n)相比效率有了极大的提高。
其中用的是二分法。
(第1页)
请关闭浏览器阅读模式后查看本章节,否则将出现无法翻页或章节内容丢失等现象。