获得徽章 15
- 快速幂 JavaScript 版
普通幂是 n
快速幂是 log2n
使用的是二分法
function qpow(a, n) {
if (n == 0) return 1;
else if (n % 2 == 1) return qpow(a, n - 1) * a;
else {
const divided = qpow(a, n / 2);
return divided * divided;
}
}
参考资料:zhuanlan.zhihu.com
展开赞过评论1 - 在回深高铁,学习了快速排序
理解如下
1. 快速排序,是选择排序的升级版
2. 选择排序的原理,选取最值,调换到对应位置
3. 快速排序的原理,选取基准值,调换到对应位置,而这个基准值,可以作为中位数,将原来一个区分成两个区(这也是将时间复杂降低为logn的原因,每次都一分为二),分开后的每个区,是相同的子问题,递归处理即可展开赞过61