快速幂详解及其Python实现
快速幂传统的幂运算,是对底数进行连乘,时间复杂度为o(n),例如:2^ 13 = 2* 2 * 2……*2,连乘十三次。但是我们可以通过增加底数,减少指数的做法,降低时间复杂度。从而能够实现复杂度为o(logn)的幂运算。还是以2^13为例,13的二进制为1101,因此2的13次方可以分解成以下形式:和13的二进制1101相对比,只要二进制为1的位,就有权重,权重为2^(i-1),i表示第几...