首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >埃及乘法算法复杂度?

埃及乘法算法复杂度?
EN

Stack Overflow用户
提问于 2020-11-29 08:54:09
回答 1查看 119关注 0票数 0

我确实理解这个算法,但找不到一种方法来定义它的复杂性,我唯一知道的是它与第二个参数有关,因为如果它更小,步骤就会更少。你知道我该怎么做吗?对于任何给定的算法,是否有任何通用的方法来定义时间复杂度?

埃及乘法算法:

代码语言:javascript
复制
def egMul(x, y):
res = 0
while(y>0):
    if(y%2==0):
        x = x * 2
        y = y / 2
    else:
        y = y - 1
        res = res + x
return res
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-29 15:24:26

这段代码执行Theta(log(y))算术运算。通过考虑y的二进制表示,您可以看到它对出现在二进制表示中的每个1执行else分支,并执行if的第一个分支(将y除以2) floor(log_2(y))次。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65055953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档