我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

怎么理解大数据中x的n次幂函数

怎么理解大数据中x的n次幂函数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

目前创新互联建站已为近1000家的企业提供了网站建设、域名、网页空间、网站托管、企业网站设计、江宁网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

1

 题目描述

编辑一个函数,计算x的n次幂。如:输入2.00000,10,输出9.26100。

2

 题解

虽然编程语言中都有现成的幂运算符号,但这道题目要求我们自己写一个完成该功能的函数。x的n次幂,就是n个x相乘,可以通过for循环实现该目的,时间复杂度为O(N),如何把时间复杂度降到O(logN),是该题重点。
思路:递归、自治算法
定义该函数为pow(x,n),如果要计算2的10次幂  (pow(2,10))  ,相当于计算2的5次幂乘以2的5次幂  (pow(2,5)*pow(2,5))  ,2的5次幂又等于2的2次幂乘以2的2次幂乘以2   (pow(2,2)*pow(2,2)*2),以此类推,发现这个问题可以用递归解决,并且每次只需要计算一半的数据,直到n为0作为递归的出口。这样就可以把时间复杂度降到O(logN)。每次计算一半的思想类似于二分法,二分法也是典型的时间复杂度为O(logN)的算法,因此  应建立O(logN)与二分法的思维关联  。
    class Solution:    def myPow(self, x: float, n: int) -> float:        def pow(m):            if m==0:                return 1.0            else :                tmp = pow(m//2)                if m%2==0:                    return tmp*tmp                else :                    return tmp*tmp*x        if n>=0:            return pow(n)        else:            return 1.0/pow(-n)

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


文章名称:怎么理解大数据中x的n次幂函数
文章转载:http://mswzjz.cn/article/ipheos.html

其他资讯