社区
数据结构与算法
帖子详情
求幂指数的低时间复杂度方法
Johnny_de
2008-07-14 10:47:39
暂时没明白其原理,大家来谈论下。
算法思想:把指数化成2进制的形式,然后根据指数从左往右,若为1,则有表达式Y=Y*Y*X(Y为中间计算结果,X为2进制指数),若为0,则有Y=Y*Y.
...全文
220
2
打赏
收藏
求幂指数的低时间复杂度方法
暂时没明白其原理,大家来谈论下。 算法思想:把指数化成2进制的形式,然后根据指数从左往右,若为1,则有表达式Y=Y*Y*X(Y为中间计算结果,X为2进制指数),若为0,则有Y=Y*Y.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tailzhou
2008-07-14
打赏
举报
回复
假设 求X^N,N的二进制表示为bn...b2b1b0
记X^N=X^(bn...b2b1b0)
若
X^(bn...bi)==Y;
那么
X^(bn...bib(i-1))
==X^((bn...bi << 1) + b(i-1))
==X^(bn...bi * 2) * X^b(i-1)
==Y*Y*X^b(i-1)
当b(i-1)==1时;
Y*Y*X^b(i-1)==Y*Y*X
当b(i-1)==0时;
Y*Y*X^b(i-1)==Y*Y
Johnny_de
2008-07-14
打赏
举报
回复
多谢楼上的指点,看来我对左移操作没有很好的理解,受益匪浅!谢谢!
快速幂.docx 快速幂(Fast Power)是一种用于快速计算幂运算的算法,特别适用于大数幂的计算,其
时间复杂度
为 O(l
快速幂(Fast Power)是一种用于快速计算幂运算的算法,特别适用于大数幂的计算,其
时间复杂度
为 O(log n)。快速幂算法基于以下原理: 假设要计算 a 的 n 次方(a^n),可以将 n 表示为二进制形式,例如,n = 13 的...
快速幂知识点以及示例代码.zip
在传统的幂运算中,我们通常使用连乘的方式来计算 base 的 n 次幂,即 base^n,这种
方法
的
时间复杂度
是 O(n),当 n 很大时,计算效率会变得非常
低
。而快速幂算法则利用了分治法的思想,将幂运算的
时间复杂度
优化到了...
分而治之-系统复杂度的解决之道
分而治之-系统复杂度的解决之道
论文研究 - 时间的量子宇宙学
在第一个(右)
求
幂中,量子-经典相关(或不和谐)时间是基础,其指数是量子相干时间。 在第二个(左)幂中,经典复杂度时间是基数,其指数是第一个(右)幂。 计数变化的四个时间寄存器自同步并均衡时间的四个维度...
基于C语言实现快速幂算法(源码)
使用循环计算底数 x 的指数 n 次幂,每次将指数 n 减半,降
低
时间复杂度
。 在循环中,如果指数 n 为奇数,则将当前结果乘以底数 x,然后将底数 x 平方,指数 n 除以2。 在 main 函数中进行了简单的测试,调用快速幂...
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章